Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизДлинна переменной типа string Найти похожие ветки
← →
Pavelkq (2005-02-17 10:15) [0]Пишу обработчик для файлов не совсем текстового вида, но содержащих текстовые блоки. Запихиваю всю эту фигню а переменную типа string. Когда применяю функцию Length, то она возвращает мне длинну переменной до первого нулевого байта. Т.е. она считает #0 концом текстовой переменной. Но реально там еще куча данных. Как можно получить длинну этой переменной?
← →
Чапаев © (2005-02-17 10:17) [1]Приведи код. Очень как-то непонятно ты проблему описал.
← →
Digitman © (2005-02-17 10:26) [2]
> Запихиваю всю эту фигню а переменную типа string
ошибаешься... не всю "фигню" ты "запихиваешь", а "фигню" до первого терминирующего #0 .. оттого и length() показывает тебе меньше чем ты ожидаешь
проверь сам :
var
s: string;
s := #0#0#0#0#0; //5 терминаторов подряд
showmessage(inttostr(length(s))); //5-ку и увидишь !
← →
Sha © (2005-02-17 10:41) [3]Запихивать надо правильно.
← →
Digitman © (2005-02-17 10:44) [4]
> Pavelkq
файл имеет регулярную структуру ? элементы структуры содержат и текстовые и бин.данные ?
если да, то "запихивать в string" каждую структуру просто неразумно
← →
Arm79 © (2005-02-17 10:50) [5]"Пихай" в буфер Pchar. И в файл записывай этот буфер, предварительно записав его размер. При считывании прочитай размер буфера, потом прочитай сам буфер тоже как Pchar. затем бегай по буферу и интерпретируй данные как угодно
← →
begin...end © (2005-02-17 11:05) [6]> Pavelkq (17.02.05 10:15)
> Когда применяю функцию Length, то она возвращает мне
> длинну переменной до первого нулевого байта.
Она возвращает не длину переменной, а длину строки. Размер переменной от длины строки не зависит.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c