这是我的要求:">我需要在控制台窗口上向用户显示.txt文件的输出,该文件将由第三方应用程序不断修改">
我有来自cplusplus.com的代码:
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line;
ifstream myfile ("test_results.txt");
if (myfile.is_open())
{
while ( myfile.good() )
{
getline (myfile,line);
cout << line << endl;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
我需要任何类型的时间计数器来按一定的时间间隔读取该文件吗?引导我,提前谢谢。。。
有两种方法。
-
依赖于平台的
使用API,如Linux 中的
inotify
-
独立于平台的
查询fs有关文件修改的信息,例如使用
boost::filesystem
http://www.boost.org/doc/libs/1_52_0/libs/filesystem/doc/reference.html#last_write_time