我有一個文本文件,如下所示:讀一個.txt文件到2 d陣列
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
我想讀成整數的2-d陣列。問題是該文件沒有提供關於二維數據維度的信息。我試圖做到這一點如下:
FILE *input_file = fopen(argv[1], "r");
while (! feof(input_file)) {
read = fscanf(input_file, "%d%c", &x, &del);
if (read != 2) {
i--;
break;
}
in_data[i][j] = x;
if (del == '\n') {
i++;
j =0;
continue;
}
j++;
}
如果行中最後一個數據項之後的字符是換行符,但是否則失敗,此代碼工作正常。在不知道數據維數的情況下,從文件中讀取二維數據的可靠方法是什麼?
可能是重複的如何輸入數據文件分割成一個二維數組(http://stackoverflow.com/questions/8246447/how-to-input-a-data-file-into的-a-2d-array?rq = 1) – user2181624
1.製作文件的'mmap',2.掃描換行符(一維)和換行符之間的空格(第二個維度)。 3.分配內存。 4.讀取數據。 –