有一個文本資料檔案
1 2 3 4
5 6 7 8
…… 1000行
超過一千行后需要添加在第一千行,同時洗掉第一行的資料,
意思就是說這個檔案是不斷添加行的,洗掉最早的行 ,總行數要保持在一千行
怎么處理?
uj5u.com熱心網友回復:
這個不難啊,假設1行1KB,1000行也就最多1MBuj5u.com熱心網友回復:
把檔案讀取后 刪掉第一行內容 增加最后一行內容 然后覆寫寫入uj5u.com熱心網友回復:
覆寫寫入好麻煩,每次要讀很多資料,還有啥簡便點的方法嗎?uj5u.com熱心網友回復:
直接用TStringList,簡單方便。// 創建StringList物件
TStringList *lst = new TStringList;
// 載入檔案
lst->LoadFromFile("檔案名");
// 洗掉第一行
if (lst->Count > 0) lst->Delete(0);
// 在最后添加一行
lst->Add("要添加的資料");
// 寫回檔案
lst->SaveToFile("檔案名");
// 清場
delete lst;
uj5u.com熱心網友回復:
如果資料不重要的話,可以在程式退出的時候寫入一次uj5u.com熱心網友回復:
支持StringList// 創建StringList物件
TStringList *lst = new TStringList;
// 載入檔案
lst->LoadFromFile("檔案名");
// 洗掉第一行
if (lst->Count >= 1000){ for (int i=0; i<lst->Count-1000+1; i++) {lst->Delete(0); }}
// 在最后添加一行
lst->Add("要添加的資料");
// 寫回檔案
lst->SaveToFile("檔案名");
// 清場
delete lst;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114442.html
標籤:基礎類
上一篇:如何在 PHP 和 Laravel 中使用 Traits
下一篇:accumulat()函式的問題
