包含頭文件fstream既可以讀又可以寫(我的理解是頭文件fstream中包含ifstream和ofstream),可以同時創建ifstream對象和ofstream對象,分別實現讀寫;也可以直接創建fstream對象實現讀寫。
不知道我說他們是對象妥當不妥當,也沒怎么看書,不知道這東西具體叫什么。后面有深入了解的話再說的,姑且這么叫。
geline(in,line);這個函數第一個參數是創建的讀取對象,第二個參數是儲存讀取內容的變量。一次讀取一行,重復執行可以連續讀取多行。
注意:讀取的文件編碼要和程序的編碼,還有cmd窗口的編碼相同。否則會出現亂碼。可以參考前一篇文章:c++輸出中文亂碼解決方案
#include <fstream>//ifstream讀文件,ofstream寫文件,fstream讀寫文件
#include <string>//文本對象,儲存讀取的內容 #include <iostream>//屏幕輸出cout #include <cstdlib>//調用system("pause"); #include <windows.h>//用於函數SetConsoleOutputCP(65001);更改cmd編碼為utf8 using namespace std; int main() { SetConsoleOutputCP(65001); ifstream in("1.txt"); string line; if(in) // 有該文件 { while (getline (in, line)) // line中不包括每行的換行符 { cout << line << endl; } } else // 沒有該文件 { cout <<"no such file" << endl; } system("pause"); return 0; }