讀取文字的一條記錄

2022-09-03 15:33:12 字數 1053 閱讀 4620

有乙個txt檔案,每一行是一條記錄,記錄的每乙個字段之間用tab隔開

用readstring可以把一行讀入乙個緩衝區,我怎麼把單個欄位的值讀出來呢?

將每行讀入cstring中,再用cstring的find進入拆分int  npos   =   strbufer.find( "\t ",0);迴圈提取,結束後再處理檔案的下一行。

cstdiofile file;

cstring str;

while

(file.readstring(str))

//每一行處理完的string自己找地方儲存temp = " ";

}

192.168.1.1:1,60.000,60.000

192.168.1.1:2,60.000,60.000

192.168.1.1:3,60.000,60.000

192.168.1.1:5,60.000,60.000

192.168.1.1:21,60.000,60.000

192.168.1.1:34,60.000,60.000

192.168.1.1:35,60.000,60.000

192.168.1.1:66,60.000,60.000

192.168.1.1:123,60.000,60.000

192.168.1.1:234,60.000,60.000

我想找到192.168.1.1:21這行,並將其後面的值改為40.000,40.000,即這行值變為「192.168.1.1:21,40.000,40.000」

如何能夠只在乙個檔案裡操作,不用寫第二個檔案?

用cstdiofile.readstring()和cstdiofile.writestring()能夠實現嗎?借助cfile.seek()可不可以?

cstdiofile file;

file.open(

"a.txt

",cfile::modereadwrite);

cstring str;

while(true)}

file.close();

上一條記錄下一條記錄

select top 1 from 表 where id 當前id order by id desc select top 1 from 表 where id 當前id order by id desc 上一條記錄 select top 1 blogid from gcc bloginfo wher...

Oracle獲取上一條記錄或上一條記錄函式

獲取上一條記錄,若沒有記錄則值為0,其中 lag news id,1,0 news id為根據哪乙個字段進行檢查,1 為每次偏移量,0 為沒有上一條時的返回值 select n.lag news id,1,0 over order by news id asc nid from news n 執行結...

更新最後一條記錄

修改最後一條記錄 update userinfo set userid 55 where 1 order by userid desc limit 1 刪除第一條記錄 delete from userinfo where 1 order by userid limit 1 mysql 總結 在寫這段...