在使用ifstream讀取檔案時沒有使用try…catch,而是使用了if…else,這是因為檔案不存在時ifstream返回空,但try…catch獲取不到任何東西。
對之前的**進行整理,貼上完整**。
1、將檔案中的一組數字排序後輸出到另一檔案中去。
答:首先假設輸入檔案為【input_file.txt】,裡面內容為一組整型數字【1 38 3 9 1】。輸出檔名為【output_file.txt】。統一儲存路徑為【d:\】。程式名為【sort_file.cpp】
// sort_file.cpp : 將讀取到的數字排序後寫入到新檔案。
#include "pch.h" //vs2017預設標頭檔案
#include #include #include #include void bubblesort(std::vector& data);
bool readdatafile(std::vector& _outdata);
bool writedatafile(std::vector& _outdata);
int main()
; readdatafile(iarray);
bubblesort(iarray);
writedatafile(iarray);
std::cout << "hello world!\n";
}void bubblesort(std::vector& data)
bsort = true;
} if (!bsort)
}//end for1
}//end bubblesort
//讀取資料,解析,存入vector
bool readdatafile(std::vector& _outdata)
; ioread.open(szfile); //檔案不存在ioread為空
if (ioread) }
else
char ctest = 'a'; //斷點測試
return bret;
}//寫入檔案
bool writedatafile(std::vector& _outdata)
else }
ioread.close(); // if don't close, then write nothing.
_outdata.clear();
char ctest = 'a'; //斷點測試
return bret;
}
建議歸類到【c++】。
《c++筆試面試寶典2011版.docx》
《c++ prime plus》(第6版),第768頁,17.4檔案的輸入和輸出。
c++檔案讀寫詳解(ofstream,ifstream,fstream)
ofstream官方說明
20200413 將一組資料排序後輸出到檔案1
之前的c 版本包括c 11,都不支援檔案的複雜操作 例如建立目錄 但從c 17開始新增了filesystem,該模組支援檔案的複雜操作。本文牽扯到兩種技術,檔案操作與排序。1 將檔案中的一組數字排序後輸出到另一檔案中去。答 首先假設輸入檔案為 input file.txt 裡面內容為一組整型數字 1...
20200414 將一組資料排序後輸出到檔案2
visual assist是vs編譯器最好用的外掛程式,支援各種高亮顯示以及關聯查詢。另外,今天科目一考試分,險勝。本文牽扯到c 的io技術,即fstream。1 將檔案中的一組數字排序後輸出到另一檔案中去。答 首先假設輸入檔案為 input file.txt 裡面內容為一組整型數字 1 38 3 ...
對一組資料進行排序
如果有這種可能的話,三路快排是最好的選擇。是否大部分資料距離它的正確的位置很近?是否近乎有序?如果這樣,插入排序是很好的選擇。是否資料取值的範圍非常有限?比如對學生的成績排序。如果這樣,計數排序是很好的選擇 對排序有什麼額外的要求?是否需要穩定的排序?如果是的話,歸併排序是更好的選擇,快排就不行了。...