Как избавиться от появляющихся NULL-символов в начале строки при использовании функций ftruncate и fwrite для сохранения файла?

Как избежать появления нулевых байтов в начале строки при использовании ftruncate после записи данных в файл с помощью fwrite?
  • 13 мая 2024 г. 15:00
Ответы на вопрос 2
Чтобы избежать появления NULL-символов в начале строки при использовании функций ftruncate и fwrite, можно использовать другой подход:

1. Записать нужные данные в файл с помощью функции fwrite.
2. Закрыть файл.
3. Открыть файл в режиме "чтение и запись" (r+) и установить указатель файла на начало с помощью функции fseek(file, 0, SEEK_SET).
4. Вызвать функцию ftruncate для обрезания файла до размера, соответствующего записанным данным.

Таким образом, при обрезании файла функцией ftruncate в начале строки не должно появляться NULL-символов или нулевых байтов.
используй rewind() после ftruncate()
Похожие вопросы