关于C++中文件流的问题想问一下大家
先上代码,再说疑惑。
#include<iostream>#include<fstream>#include<sstream>#include<string>#include<vector>using namespace std;int fileToVector(string fileName, vector<string>& svec){ //创建ifstream对象inFile并绑定到由形参fileName指定的文件 ifstream inFile(fileName.c_str()); if (!inFile) return 1; string s; while (getline(inFile, s)) svec.push_back(s); inFile.close(); if (inFile.eof()) return 4; if (inFile.bad()) return 2; if (inFile.fail()) return 3;}int main( void ){ vector<string> svec; string fileName, s; //读入文件名 cout << "Enter filename :" << endl; cin >> fileName; //处理文件 switch (fileToVector(fileName, svec)) { case 1: cout << "error: can not to open file: " << fileName << endl; return -1; case 2: cout << "error: system failure " << endl; return -1; case 3: cout << "error: read failure " << endl; return -1; } string word; istringstream isstream; for (vector<string>::iterator iter = svec.begin(); iter != svec.end(); ++iter) { isstream.str(*iter); while (isstream >> word) { cout << word << endl; } isstream.clear(); } system("pause"); return 0;}