我想要使用fstream
或優選QFile
刪除文件在特定位置(這不是文件的開始或結尾)後的內容。因此,我首先跳轉到QFile::seek(long)
或constant time中的等效位置,然後我想在等待時間內刪除其餘的內容。你推薦什麼方法?C++清除特定位置後文件的內容
3
A
回答
8
您可以使用QFile::resize
將文件大小調整爲所需的大小。我敢打賭,它在幕後使用truncate
(請參閱Andrew的文章)。
0
考慮將seek()
之後的新位置作爲文件的結尾。當你完成對文件的處理時,從開始直到那一刻寫下所有內容。
3
查找...
#include <unistd.h>
int ftruncate(int fildes, off_t length);
int truncate(const char *path, off_t length);
從這個site產生了下子......
如果文件以前是不是長度,額外的數據將被丟棄。
您還可能會發現this answer有趣。
相關問題
- 1. 清除文件的內容
- 2. 清除特定行中的內容vba
- 3. 位置特定內容
- 4. 清除C#中鎖定的日誌文件的內容
- 5. 清除文本文件的內容
- 6. 如何寫在特定位置的內容在文件中
- 7. 在ruby中刪除特定行後的文件內容
- 8. 寫入文件中的特定位置,但先擦除舊內容
- 9. 清除文件上傳的內容
- 10. 恢復已清除的文件內容
- 11. 如何清除文件的內容
- 12. 清除cmd文件的內容
- 13. 清除文本文件的內容C#(WinRT)
- 14. 滾動到特定位置後隱藏固定內容?
- 15. 如何清理文件位置的內容
- 16. 在啓動時清除文件的內容,然後追加
- 17. 無法清除文件內容
- 18. 如何使用c清除文件的內容?
- 19. 如何清除C文件中的全部內容?
- 20. 定位在特定的文件夾中的特定文件c#
- 21. 清除給定大小的文件C++
- 22. 通過按特定鍵清除textarea的內容
- 23. Excel宏添加行,清除特定列的內容
- 24. bat文件 - 刪除除特定文件和特定子文件夾以外的目錄內容
- 25. 清除DIV內容
- 26. jquery清除內容
- 27. InternetExplorer.Application清除內容
- 28. 清除TableView內容
- 29. 添加內容後清除輸入值
- 30. 刪除特定標籤內的內容
你的回答在技術上是正確的(我首先想到的是),但OP要求提供基於QFile的解決方案。謝天謝地,還有一個。 – 2011-05-30 01:24:12
夠公平的,我知道這會工作,所以我把它包括在內。我也不知道調整大小使用截斷,所以你會得到我的+1。我也會留下這個答案,因爲它是有效的,但不是最優的。 – 2011-05-30 01:26:48
很好的答案,但是,'QFile :: resize'答案確實解決了我一直在尋找的問題。謝謝! +1 – 2011-05-30 01:35:41