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