1. 程式人生 > >C++ 檔案操作 -- 讀與寫 基本實現

C++ 檔案操作 -- 讀與寫 基本實現

C++ 檔案讀寫功能的簡單實現 1、檔案讀取 -- 實現將檔案中的內容讀取到一個字串中
#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之間的關係,包括它們的區別和用法