我想模擬這種情況:我的程序剛剛從std :: ifstream(例如,爲「data.txt」文本文件)讀取最後一行並進行一些操作這會花費很多時間,所以有人可能會在文本文件中追加其他行。這裏試圖使std :: ifstream再次打開
while (std::getline(fs, str)) // fs is of std::ifstream type, str is std::string
{
//main code
ifs.clear(); // (1)
ifs.setstate(std::ios_base::goodbit); // (2)
}
我的代碼,我有一段時間...行設置一個斷點,並嘗試從那裏讀的是最後行後添加新行DATA.TXT。我第一次嘗試失敗。我試圖將(1),(2)或它們的組合添加到我的代碼中,以使eofbit = false,但又失敗了。還有什麼可以幫助嗎?
你想從某個文件中讀取而其他人正在寫入文件嗎? – user463035818
是的,就是這樣。更確切地說,在我的程序執行'// main code'部分時,有人可能在文件中添加了一些行,但我們不太可能同時使用data.txt。 –