C++ 讀取文件及保留小數方法 做圖論作業時,需要從文件中讀取整型數據。之前都是在標準輸入輸出流中讀取和輸出。今小記一下。 讀取文件 使用文件流ifstream 最簡潔的方法是使用文件流: ifstream infile(filename) 假設 test.txt 文件中存放5 6: ifstrea ...
C++ 讀取文件及保留小數方法
做圖論作業時,需要從文件中讀取整型數據。之前都是在標準輸入輸出流中讀取和輸出。今小記一下。
讀取文件
使用文件流ifstream
最簡潔的方法是使用文件流:
ifstream infile(filename)
假設 test.txt 文件中存放5 6
:
ifstream infile("test.txt");
int n, m;
infile >> n >> m;
這樣就可以實現讀取文件中的內容了。
如果想讀取至文件尾,則使用eof()
方法:
vector<int> tmp;
while (!infile.eof()) {
int n;
infile >> n;
tmp.push_back(n);
}
不過以下教程不推薦使用eof方法,因為它可能導致一次額外的迭代。不過我認為eof方法比較簡單和通用,這個見仁見智。
讀取整行可以用getline()
,以字元串形式存儲:
ifstream infile("tt.txt");
string line;
while (getline(infile, line)) {
cout << line <<endl;
}
保留小數
使用fixed結合setprecision(n)
頭文件是 #include <iomanip>
setprecision(n) 控制保留n位有效數字
寫一次,對之後的數字都有效:
double t = 1.414;
cout << fixed << setprecision(2);
cout << t <<endl; //輸出1.41
double pi = 3.14159;
cout << pi << endl; //輸出3.14