Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизСохранение строки в TStream Найти похожие ветки
← →
AlexanderSK (2004-06-28 15:56) [0]Подскажите, пожадуйста, как правильно сохранить строку (String) в TStream?
Заранее благодарен!
← →
Тимохов © (2004-06-28 15:57) [1]запись:
1. 4 байта: длина
2. тело строки
чтение:
1. Читаешь 4 байта длины
2. читаешь в тело строки столько сколько нужно.
← →
AlexanderSK (2004-06-28 16:01) [2]>Тимохов © (28.06.04 15:57) [1]
Видимо я не очень коррекектно поставил вопрос.
Проблема в следующем:
var
FS: TFileStream;
Str: String;
....
FS.Write(Str, Length(Str));
В итогк в файле получается белеберда!
Подскажите, пожалуйста, как с этим бороться?
← →
Тимохов © (2004-06-28 16:02) [3]написать
...write(str[0], ...)
или
...write(pointer(str)^, ...)
← →
panov © (2004-06-28 16:02) [4]FS.Write(Str[1], Length(Str));
← →
MBo © (2004-06-28 16:03) [5]FS.Write(Str[1], Length(Str));
← →
Тимохов © (2004-06-28 16:06) [6]Ой!!!
Конечно str[1].
прошу прощения
:(((
Зато второй вариант точно правильный :)))
← →
Рамиль © (2004-06-28 16:14) [7]Всетаки, ИМХО, лучше так
Stream.Write(PChar(Str)^, SizeOf(Char) * Length(Str))
← →
AlexanderSK (2004-06-28 16:18) [8]Спасибо!
← →
wicked © (2004-06-28 17:05) [9]TStringStream...
но в любом случае нужно сначала писать в поток длину строки...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.031 c