20200414_將一組數據排序後輸出到文件2
每日小知識
visual assist是VS編譯器最好用的插件,支持各種高亮顯示以及關聯查詢。
另外,今天科目一考試【91】分,險勝。
一、相關術語
本文牽扯到C++的IO技術,即fstream。
-
fstream
C++使用fstream流進行文件操作。 -
C++版本
我看到的相關筆試題答案是C99的,這裏我用近年來流行的C++11。
二、筆試題(接着昨天的內容)
1、將文件中的一組數字排序後輸出到另一文件中去。
答:首先假設輸入文件爲【input_file.txt】,裏面內容爲一組整型數字【1 38 3 9 1】。輸出文件名爲【output_file.txt】。統一保存路徑爲【D:\】。程序名爲【sort_file.cpp】
第一步:實現排序算法(昨天已實現)
void BubbleSort(vector<int>& data);
第二步:讀出文件內容(未完成)
bool ReadDataFile(std::vector<int>& _outData)
{
_outData.clear();
const char szFile[] = "input_file.txt"; //文件名
//ifsteam
bool bRet = true;
std::ifstream ioRead;
char szBUF[20] = { 0 };
ioRead.open(szFile); //文件不存在ioRead爲空
if (ioRead)
{
bRet = true;
// ioRead >> szBUF;讀取一個字節
ioRead.getline(szBUF, sizeof(szBUF)); //讀取一行。
}
else
{
bRet = false;
}
//待完善……
char cTest = 'a'; //斷點測試
return bRet;
}
注:文件操作是編程工作中最難的一部分,還會牽扯到各種類型轉換,所以寧可一天少寫一點,也要弄清楚每一步的作用和第一個函數的功能。
本文歸類
建議歸類到【C++】。
明日計劃
標題:將一組數據排序後輸出到文件3
小知識:使用判空的方式而沒有使用try…catch的原因。
1、將字符串數組轉換爲整型數組。
參考文獻:
《C++筆試面試寶典2011版.docx》
《C++ Prime Plus》(第6版),第768頁,17.4文件的輸入和輸出。