同步读写文本 代码(C++)
本文地址: http://blog.csdn.net/caroline_wendy
写程序: 每个2秒写入文本一个数字;
读程序: 每个5秒读入文本最后一个数字;
写程序代码:
#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;
int main (void) {
ofstream ofs("D:/w.txt");
int num = 0;
while (1) {
ofs << ++num << std::endl;
std::cout << num << std::endl;
Sleep(2000);
}
ofs.close();
return 0;
}
输出:
读程序代码:
/*
* main.cpp
*
* Created on: 2014.06.08
* Author: Spike
*/
/*vs 2012*/
#include <windows.h>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> tmp_files;
while (1) {
Sleep(5000);
ifstream infile( "D:/w.txt" );
if (!infile) {
cout << "fail!" << endl;
return 0;
}
string lineContent;
while ( getline( infile, lineContent, '\n' ) ){
tmp_files.push_back(lineContent);
}
infile.close();
std::cout << *(tmp_files.end()-1) << std::endl;
}
/*ofstream outfile( "w2.txt",ios::out );
vector<string>::iterator siter = tmp_files.begin();
copy( tmp_files.begin(), tmp_files.end()-1, ostream_iterator<string>(outfile) );
cout << "ok!" << endl;
outfile.close();*/
return 0;
}
输出: