我需要编写两个程序write.cpp
并read.cpp
同时运行。其中一个写入(覆盖)文件,另一个从文件中读取。
基本上,文件中总是只有一行。
write.cpp
成功执行操作但read.cpp
不显示任何内容。使用tail -f
也显示不正确的结果。
写.cpp:
#include <stdio.h>
#include <ctime>
#include <unistd.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
ofstream myfile;
int i = 70;
char c;
while(i <85)
{
myfile.open ("example.txt");
c = i++;
myfile << c << endl;
myfile.close();
sleep(1);
}
return 0;
}
读取.cpp:
#include <iostream>
#include <fstream>
#include <string>
#include <unistd.h>
using namespace std;
int main () {
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while ( myfile.good() )
{
sleep(1);
getline (myfile,line);
cout << line << endl;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
我可以知道这两个程序的哪一部分导致了问题,我该如何解决?