程式運行時,對某些操作留日志記錄,久之,檔案過大,想將最先寫入的日志(檔案前面的部分)截掉。即:最先寫入的最先被截掉,保留較新的記錄。希望在原檔案上截取操作。 ftruncate()函式是將檔案后部分截掉,正好相反了。
(將留取的記錄 寫入 新創建檔案 的方法除外哈)。
uj5u.com熱心網友回復:
1.打開原檔案,跳轉到你想保留的地方(讀取內容判斷)。2.獲取當前檔案指標的位置ftell,獲取檔案大小fseek跳到檔案末尾,再跳回開始保存內容的地方。
3.將剩余的內容全部讀入記憶體。
4.關閉檔案
5.寫打開檔案(會清理掉檔案的內容)
6.將記憶體中的內容寫入檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/237336.html
標籤:C++ 語言
