![](/img/trans.png)
[英]How can you make a C compiler assume decimal literals (e.g. 1.23) are float and not double?
[英]After rewind(), can you make fprintf() write to end of file (e.g. complete overwrite)
在C語言中, rewind()
調用在文件的開頭開始下一次寫入。
據我了解,當我調用fprintf()
,它將寫入到我嘗試寫入的字符串的末尾,並且不再執行。 如果現有文件中的數據超出了我正在寫入的字符串的末尾,則不會覆蓋該數據。
有沒有一種方法可以更改此行為,以便可以使用rewind()
有效執行整個文件的快速覆蓋?
如果要將文件截斷為零長度,請在寫入模式下重新打開它。 如果要在打開時截斷它,則ftruncate
應該在POSIX系統中進行。 我相信Windows中有_chsize
和_ftruncate
,它們是相似的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.