|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.07.2008, 17:20 | #1 |
Форумчанин
Регистрация: 09.03.2008
Сообщений: 127
|
Запись в файл
Здраствуйте!
В файл типа TFileStream я записываю переменную запись(Type Tbuf = record t1 ,t2 ,t3 : string; end; var buf : Tbuf; ) Записываю примерно 10 раз, но при чтении из этого файла в переменную buf значения совершенно меняются. Это пример моей программы. Кто знает в чем ошибка подскажите. Заранее спасибо! |
03.07.2008, 17:30 | #2 |
Форумчанин
Регистрация: 29.03.2008
Сообщений: 300
|
Код:
Карп преодолевший водопад становится драконом.
|
03.07.2008, 21:30 | #3 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Попробуйте использовать не string, а например string [30]
Код:
|
03.07.2008, 21:58 | #4 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
03.07.2008, 22:19 | #5 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Совершенно верно, на 1 байт больше.
В нулевом байте каждой строки (s[0]) содержится длина строки. Т.е. если мы написали t1:string[30]; а потом сделали так: t1:='123'; и потом записали в файл, то запишется сначало 3 (как байт) - длина нашей строки, потом содержимое строки ("123" - как коды аскии) а потом оставшиеся 27 не использованных байт. Провёл эксперимент. Оставшиеся 27 байт - далеко не нули. |
03.07.2008, 22:52 | #6 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Я это давно зметил, при сохранении в неиспользуемые байты могут писаться предыдущие куски фраз и символов ну и пустые байты в конце, если не были слова занимающие максимальную длину поля в Record.
|
05.07.2008, 02:24 | #7 |
Форумчанин
Регистрация: 09.03.2008
Сообщений: 127
|
Всем спасибо! Все работает!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запись в файл | Titan123 | Общие вопросы Delphi | 6 | 23.08.2008 01:12 |
Запись в файл | [Smarik] | Помощь студентам | 4 | 07.05.2008 23:26 |
Запись в файл С++ | Viteks | Общие вопросы C/C++ | 3 | 18.04.2008 13:18 |
запись в файл | Prisian | Общие вопросы Delphi | 6 | 24.07.2007 13:43 |