以下是我的C++代碼的一部分,argv[2]
是輸入文件的路徑。 我發現雖然我在輸入文件中得到了正確數量的元素(arr_size
),但while循環中的代碼似乎沒有被執行。結果是arr[]
中的所有元素保留其原始值(0)。C++,從文件中讀取一個數字的數組
ifstream inFile(argv[2]);
// get the number of element
int arr_size = distance(istream_iterator<int>(inFile), istream_iterator<int>());
int * arr = new int[arr_size];
int idx(0);
while (inFile >> arr[idx]) {
idx++;
}
我已經試過
while (!inFile.eof()) {
inFile >> arr[idx];
idx++;
}
,但仍得到相同的結果。
輸入文件就像如下:
3 8 7 4 6 2 1 9 0 5
這有什麼錯我的代碼?
'arr_size'的值是什麼? – NathanOliver
值爲10. – zbqv
嘗試在Internet上搜索「stackoverflow C++讀取文件數組」。我們真的不需要更多這些「相似但不完全相同」的問題。 –