文件形如:
1341846313.592026 rgb/1341846313.592026.png 1341846313.592088 depth/1341846313.592088.png 1341846313.654184 rgb/1341846313.654184.png 1341846313.654212 depth/1341846313.654212.png 1341846313.686156 rgb/1341846313.686156.png 1341846313.686172 depth/1341846313.686172.png
代码
#include<iostream> //cin cout #include<fstream> //ifstring ofstream #include<string> //string #include<sstream> //istringstream #include<vector> //vector using namespace std; int main(int atgc, char **argv) { ifstream fin; //1、实例化一个ifstream对象 fin.open(argv[1]); //2、关联文件 /* ifstream fin(filename); //等同于1+2 */ 将把内容原样输出到屏幕********************************************** char ch; while(fin.get(ch)) { cout<<ch; } fin.close(); //断开流与文件的连接,流还在 cout<<endl; //********************************************************************** //fin 以空格,tab,换行 为结束标志读取**************************************** fin.open(argv[1]); string buf; fin>>buf; //读一个字符串,遇到空格就结束 cout<<"buf = "<<buf<<endl; fin>>buf; //读一个字符串,遇到空格就结束 cout<<"buf = "<<buf<<endl; fin>>buf; //读一个字符串,遇到空格就结束 cout<<"buf = "<<buf<<endl; fin>>buf; //读一个字符串,遇到空格就结束 cout<<"buf = "<<buf<<endl; fin.get(ch); //剩了个换行,读掉,扔了,如果是fin.get(ch),就给了ch cout<<ch; //********************************************************************** //getline(fin,VAR_string)读一行**************************************** string line; getline(fin,line); //读一行,从开始到行尾 cout<<"line = "<<line<<endl; getline(fin,line); //读一行,从开始到行尾 cout<<"line = "<<line<<endl; cout<<"length of line = "<<line.length()<<endl<<endl; fin.close(); //******************************************************************** vector<string> str; string word; //把字符串按照空格分割成若干个 //****************************************************************** istringstream devide(line); while(devide>>word) { str.push_back(word); } //******************************************************************* vector<string>::iterator pd; //迭代器 for(pd=str.begin();pd!=str.end();pd++) { cout<<*pd<<endl; } ofstream fout; fout.open("write.txt"); fout<<"下面是写入的内容:"; fout.close(); return 0; }
输入形如
wfq@wfq-xiaoxin:~/MyProjects/CFiles/build$ ./file_read_write ../associations.txt 1341846313.592026 rgb/1341846313.592026.png 1341846313.592088 depth/1341846313.592088.png 1341846313.654184 rgb/1341846313.654184.png 1341846313.654212 depth/1341846313.654212.png 1341846313.686156 rgb/1341846313.686156.png 1341846313.686172 depth/1341846313.686172.png buf = 1341846313.592026 buf = rgb/1341846313.592026.png buf = 1341846313.592088 buf = depth/1341846313.592088.png line = 1341846313.654184 rgb/1341846313.654184.png 1341846313.654212 depth/1341846313.654212.png line = 1341846313.686156 rgb/1341846313.686156.png 1341846313.686172 depth/1341846313.686172.png length of line = 89 1341846313.686156 rgb/1341846313.686156.png 1341846313.686172 depth/1341846313.686172.png