0
的文件,我不知道爲什麼我不知道這一點,但我想讀,看起來像這樣存儲字符和Int
000xx
11xx0
0x1x0
11110
我想讀取文件的文件,然後搜索「x」值並將它們替換爲「2」,然後將它們存儲在數組中以備後用。輸出應該看起來像這樣。
00022
11220
02120
11110
我不知道如果我處理這個正確的,我算了一下,將文件存儲到一個數組,然後搜索和替換。這裏是我剛剛讀取文件並嘗試打印的代碼,我嘗試使用int數組和char數組,我不知道爲什麼我無法弄清楚這一點,任何幫助將不勝感激。
int main()
{
FILE *fvec;
fvec =fopen("numbers.vec" , "r");
if(!fvec){printf("error reading file");}
int col, row;
int array[10][10];
for (col = 0; col < 10; ++col){
for (row = 0; row <10; ++row){
fscanf(fvec, "%d", &array[col][row]);}
}
for (col = 0; col < 10; ++col){
for (row = 0; row <10; ++row){
printf("%d", array[col][row]);}
printf("\n");
}
}
這是我所得到的印刷
0039300480203200
48008044
183289603930048039300480
首先你應該也看過字符檢查'fscanf'的返回值,因爲它可能會失敗。當文件可能包含較少字節時,您正在分配一個'10x10'陣列。我建議閱讀你的文件字符char和保存在一個多維char數組。你到達一個'\ n'開始填充下一行。 –
'「%d」'是整數。 'x'不是一個整數嗎?總是檢查'fscanf'的返回值。 – kaylum
內環會去對面,所以你做的列中,外環應提前向下所以它你行。 – stark