C++ 檔案操作 -- 讀與寫 基本實現
阿新 • • 發佈:2019-01-26
C++ 檔案讀寫功能的簡單實現
1、檔案讀取 -- 實現將檔案中的內容讀取到一個字串中
2、檔案寫入 -- 實現將一個字串內容寫入到一個文字檔案中
到此,檔案的讀與寫的基本功能可以簡單實現,但是還要繼續學習以下幾點內容: 1、這兩段程式都要求檔案必須事先均已建立完成,所以對檔案的開啟方式的設定還需繼續學習; 2、檔案流還有許多成員函式,例如good()、fail()、tellg()、tellp()、seekg()、seekp() 等,學習並掌握它們的功能及用法; 3、學習 istream 、ostream 、fstream之間的關係,包括它們的區別和用法
#include <iostream> #include <string> #include <fstream> // 對檔案進行操作必須包含 <fstream> 標頭檔案 using namespace std; int main(void) { const string filename = "1.txt"; // 檔案路徑(此程式下檔案必須先建立好) fstream file; // 建立一個檔案流物件file file.open(filename); // 呼叫open()函式,繫結file與指定檔案,並開啟該檔案 string str = ""; if(file.is_open()) // 檔案開啟成功,則繼續進行處理 { string str_tmp; while(!file.eof()) // 未讀到檔案內容末尾,不停止迴圈 { getline(file,str_tmp); // 將檔案內容一行一行讀到字串中 str += str_tmp; str += "\n"; // 一行文字內容讀取完畢之後,加一個換行符,再進行下一行文字內容的讀取 // 保證原來檔案內容的完整性(包括換行) } cout << str << endl; // 通過上面的while迴圈,將檔案內容全部儲存到字串中 file.close(); // 檔案操作完成後必須用close()函式進行關閉 } else { cout << "file open error!" << endl; } return 0; }
2、檔案寫入 -- 實現將一個字串內容寫入到一個文字檔案中
總結:#include <iostream> #include <fstream> // 對檔案進行操作必須包含 <fstream> 標頭檔案 #include <string> using namespace std; int main(void) { string str = "明天去爬山吧!\nGood!...\t\tOK!\n^<>^."; const string filename = "2.txt"; // 檔案路徑(此程式下檔案必須先建立好) fstream file; // 建立一個檔案流物件file file.open(filename); // 呼叫open()函式,繫結file與指定檔案,並開啟該檔案 if(file.is_open()) // 檔案開啟成功,則繼續進行處理 { file << str; // 利用 << 操作符將字串直接插入到檔案流物件中 file.close(); } else { cout << "file open error!" << endl; } system("pause"); return 0; }
到此,檔案的讀與寫的基本功能可以簡單實現,但是還要繼續學習以下幾點內容: 1、這兩段程式都要求檔案必須事先均已建立完成,所以對檔案的開啟方式的設定還需繼續學習; 2、檔案流還有許多成員函式,例如good()、fail()、tellg()、tellp()、seekg()、seekp() 等,學習並掌握它們的功能及用法; 3、學習 istream 、ostream 、fstream之間的關係,包括它們的區別和用法