2011-09-12 9 views
0

Cでは、rewind()コールはファイルの先頭で次の書き込みを開始します。rewind()の後に、fprintf()をファイルの最後に書き込むことができますか?(例えば、完全に上書きする)

私が理解しているように、私がfprintf()と呼ぶと、それは私が書こうとしている文字列の最後に書きます。既存のファイルに書いている文字列の最後を過ぎたデータがある場合、これは上書きされません。

rewind()を有効にしてファイル全体をクイック上書きする方法がありますか?

答えて

1

ファイルを長さをゼロに切り捨てる場合は、書き込みモードで再度開きます。開いている間に切り捨てたい場合は、ftruncateはPOSIXシステムで行うべきです。 Windowsでは_chsize_ftruncateが似ていると思います。

関連する問題