這里使用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,即可。