【发布时间】:2014-12-28 16:45:59
【问题描述】:
我需要逐行读取文件,它是由 std::getline 完成的。另一个进程的问题是一直向其附加数据,然后我需要读取新行。
例如,文件最初包含 10 行,我的程序读取了第 10 行,然后我的程序应该等待。过了一会儿,另一个进程将 5 行附加到文件中,然后我的程序读取了 5 行。
我试过了,但它不起作用:
int main() {
ifstream ifs("test.txt");
string line;
while(1) {
while(std::getline(ifs, line)) {
cout << line << endl;
}
Sleep(50);
}
}
有什么想法吗?谢谢。
【问题讨论】:
-
其他程序应该通知这段代码何时读取以及何时等待
-
您是否尝试或想要尝试锁定/信号机制来代替
Sleep?