C++ 文件读取行/单词
这里使用fstream来读取文件,并按照每行一个string方式写入vector
void read(ifstream &ifs, vector<string> &vec) { ifs.open("C:\\Users\\****\\Desktop\\1.txt");//文件地址,注意转义符 string str; while(getline(ifs, str))//按行读取 { vec.push_back(str); } if(ifs.is_open()) ifs.close();//关闭流 } int main() { ifstream ifs; vector<string> vec; read(ifs, vec); for(auto str : vec) cout << str.c_str() << endl; return 0; }
按照每个单词分割写入vector
//read the file and write it by word into vector void read(ifstream &ifs, vector<string> &vec) { ifs.open("C:\\Users\\****\\Desktop\\1.txt"); string str; char c; while(ifs.get(c)) { if(c != ' ' && c != ',' && c != '.') str += c; else { if(str != "") vec.push_back(str); str = ""; } } if(ifs.is_open()) ifs.close(); }
中文乱码处理
多半是文件编码格式不对,改为UTF-8(编辑器都可以改格式的),如果是*.txt的话直接另存为->编码->UTF-8,即可。