我需要編寫一個讀取txt文件的代碼(包含2列,第1列爲int型,第2列爲雙精度型)從txt文件(C++)中讀取數字後無法正確顯示數字
13 2.7
42 3.1
78 1.6
37 7.8
17 2.7
然後打印出如下所示的表格:
1 | 13 | 2.7
2 | 42 | 3.1
3 | 78 | 1.6
4 | 37 | 7.8
5 | 17 | 2.7
但在運行代碼後,出放像:
我不明白爲什麼這會發生。有人可以告訴我我錯了嗎?謝謝。以下是代碼:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
ifstream in_file;
string filename;
const int NUM_LINES = 10;
const int NUM_COLUMNS = 2;
const int COLUMN_WIDTH = 10;
cout << "In order to process, please enter the file name: ";
cin >> filename;
in_file.open(filename.c_str());
if (!in_file.is_open())
{
cout << "Cannot open file" << endl;
}
else
{
for (int k = 0; k < NUM_LINES; ++k)
{
int intValue;
double doubleValue;
in_file >> intValue >> doubleValue;
cout << setw(COLUMN_WIDTH) << (k + 1) << " | ";
cout << setw(COLUMN_WIDTH) << intValue << " | ";
cout << setw(COLUMN_WIDTH) << doubleValue << endl;
}
}
system("pause");
return 0;
}
爲什麼不可讀截圖? –
你爲什麼不讀兩個整數和分隔符? (同樣缺少閱讀行尾) –
http://imgur.com/qvirDWF這裏是鏈接:D – Onion