Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизКак работает функция pos ? Найти похожие ветки
← →
BFG9k (2005-02-14 14:43) [0]Сначала использовал функцию Pos для динамического обьема данных, представленного как PChar (но не заканчивающегося нулем). Иногда функция вылезает за этот обьем при поиске- Invalid pointer operation, access violation.
Скопировал данные в строку (везде избавился от PChar). Вроде ошибки исчезли, но недавно снова возникли (не на моей машине - отловить проблематично). Вопрос такой: отличается ли работа Pos со строкой и PChar ? Кажется, строка тоже не кончается нулем. Есть ли защита от проникновения в другую область памяти ? Например, может приниматься во внимание длина строки.
← →
Marser © (2005-02-14 14:55) [1]Отличается. И даже больше - Pos с PChar не работает, с PChar работает StrPos
← →
Digitman © (2005-02-14 15:07) [2]
> BFG9k
приведи код
← →
icWasya © (2005-02-14 16:14) [3]>Кажется, строка тоже не кончается нулем.
Начиная с D2 String (он же AnsiString) всегда заканчивается нулём.
← →
han_malign © (2005-02-14 17:06) [4]>отличается ли работа Pos со строкой и PChar
- происходит неявное преобразование к строке, если это не явный массив of char(с детерминированной длиной) - то без контроля длинны - по нулевому символу... Длинну нужно ручками контролировать, скажем через SetString.
← →
Георгий Бедный (2005-02-19 21:06) [5]А есть такая же функция (типа Pos), но чтобы искала, начиная с нужного символа (нужно для текстового редактора)??
Пример:
function PosEx(StartSymbolNum: Longint): longint;
← →
begin...end © (2005-02-19 21:15) [6]> Георгий Бедный (19.02.05 21:06) [5]
Да, она так и называется - PosEx. См. справку.
← →
Георгий Бедный (2005-02-21 21:23) [7]Спасибо! Действительно, "ларчик просто открывался". :)
Вот, например, когда-то так же было с WinMPQ. Пытался написать сам, да, вроде, подумалось, что название больно звучное - надо поискать. И что вы думаете?! - Нашёл-таки! Вот тебе и линии вероятности, ешь-его-в-вервольфа-душу-мать! ;)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c