Перезаписать/заместить текст в файле - страница 2

 
Roman Starinskiy:

Как все-таки заместить файл новыми данными и сделать это правильно?

Наверное правильно вопрос можно сформулировать так: "Как в файле заменить данные новыми?"

Файл должен быть базой данных. Это или бинарный, или .csv . Для Вашего случая, наверное больше подойдет .csv. И база данных, и можно читать, как обычный текстовый файл.

 
capricornsuper:

Наверное правильно вопрос можно сформулировать так: "Как в файле заменить данные новыми?"

Файл должен быть базой данных. Это или бинарный, или .csv . Для Вашего случая, наверное больше подойдет .csv. И база данных, и можно читать, как обычный текстовый файл.

Здесь есть нюанс - "заменить данные в существующем файле"

Для бинарного файла не представляет никаких проблем

Для текстового файла (csv) проблема возникает, если заменяющие данные отличаются по длине от заменяемых данных. В этом случае нужно переписываать остаток файла после замены данных

 

Спасибо всем за ответы. Почему в функции FileWrite нет параметра "Предварительно очистить файл", сделать его нулевой длинны? :) Это бы решило все вопросы.

Придется использовать костыли, наверное лучше 2 раза открыть файл: для чтения, а потом для записи. Удалять файл не получится, его сначала прочитать нужно.

Еще попробую метод с бинарным и csv файлом, вариант кажется надежным.

 
режим FILE_WRITE чистит файл и делает его нулевой длинны
 
Roman Starinskiy:

Спасибо всем за ответы. Почему в функции FileWrite нет параметра "Предварительно очистить файл", сделать его нулевой длинны? :) Это бы решило все вопросы.

Придется использовать костыли, наверное лучше 2 раза открыть файл: для чтения, а потом для записи. Удалять файл не получится, его сначала прочитать нужно.

Еще попробую метод с бинарным и csv файлом, вариант кажется надежным.

Вам уже дважды посоветовали бинарник вместо csv использовать. Это самое то. Все остальное костыли. Выбор за Вами.
 
Vasiliy Sokolov:
Вам уже дважды посоветовали бинарник вместо csv использовать. Это самое то. Все остальное костыли. Выбор за Вами.
А бинарный тип файла это *.bin или обычный *.txt?
 
Roman Starinskiy:
А бинарный тип файла это *.bin или обычный *.txt?
Бинарный тип файла - это файл, в котором хранится информация в виде байтов, имея как правило регулярную структуру и строго заданный размер. Расширение у этих файлов может быть любое. Если Вы храните в бинарном файле два числа, то они занимают всегда 2х8=16 байт, имея регулярную структуру. 
 
Ну если все остальные способы это костыли, тогда бинарный файл это клизма.
 
Vasiliy Sokolov:
Бинарный тип файла - это файл, в котором хранится информация в виде байтов, имея как правило регулярную структуру и строго заданный размер. Расширение у этих файлов может быть любое. Если Вы храните в бинарном файле два числа, то они занимают всегда 2х8=16 байт, имея регулярную структуру. 
Попробую, спасибо.
Причина обращения: