После rewind (), вы можете сделать fprintf () записать в конец файла (например, полная перезапись) - PullRequest
0 голосов
/ 13 сентября 2011

В C вызов rewind() начинает следующую запись в начале файла.

Насколько я понимаю, когда я вызываю fprintf(), он записывает в конец строки Iпытаюсь написать и не дальше.Если существующий файл содержит данные после конца строки, которую я пишу, это не перезаписывается.

Есть ли способ изменить это поведение, чтобы rewind() можно было использовать для эффективного выполнения быстрой перезаписивесь файл?

1 Ответ

1 голос
/ 13 сентября 2011

Если вы хотите обрезать файл до нулевой длины, снова откройте его в режиме записи.Если вы хотите обрезать его, пока он открыт, ftruncate должен сделать это в системах POSIX.Я думаю, что в Windows есть _chsize и _ftruncate, которые похожи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...