20200501_將一組數據排序後輸出到文件4

20200501_將一組數據排序後輸出到文件4

每日小知識

五一快樂。

一、相關術語

本文涉及到文件處理,要將排序後的數字寫入到文件。

  • ofstream
    這是今天的重點內容,利用ofstream寫入文件。

  • C++版本
    這裏使用用近年來流行的C++11。

二、筆試題(接着上次3的內容)

1、將文件中的一組數字排序後輸出到另一文件中去。
答:首先假設輸入文件爲【input_file.txt】,裏面內容爲一組整型數字【1 38 3 9 1】。輸出文件名爲【output_file.txt】。統一保存路徑爲【D:\】。程序名爲【sort_file.cpp】

第一步:實現排序算法(見前面文章)

void BubbleSort(vector<int>& data);

第二步:讀出文件內容,並解析數據,存入vector中(見前面文章)。

bool ReadDataFile(std::vector<int>& _outData)

第三步,將vector內容寫入文件,重要地是ofstream用法。

bool WriteDataFile(std::vector<int>& _outData)
{
	const char szFile[] = "output_file.txt";	//輸出文件名
	bool bRet = true;
	std::ofstream ioRead(szFile);	//構造函數會直接創建文件。

	if (ioRead.fail())
	{
		bRet = false;	//
	}
	else
	{
		bRet = true;
		for (auto itr=_outData.begin(); itr!=_outData.end(); ++itr)
		{
			ioRead << *itr << ' ';	//寫入文件,用空格隔開
		}
	}

	ioRead.close();	// if don't close, then write nothing.

	char cTest = 'a';	//斷點測試
	_outData.clear();

	return bRet;
}

注:ofstream是核心。

本文歸類

建議歸類到【C++】。

明日計劃

標題:將一組數據排序後輸出到文件5
小知識:使用判空的方式而沒有使用try…catch的原因。
1、整理完整代碼。

參考文獻:

《C++筆試面試寶典2011版.docx》
《C++ Prime Plus》(第6版),第768頁,17.4文件的輸入和輸出。

C++文件讀寫詳解(ofstream,ifstream,fstream)
https://blog.csdn.net/sheng_bw/article/details/85336298

今日收藏:

ofstream官方說明
http://www.cplusplus.com/reference/fstream/ofstream/ofstream/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章