必要な出力 (1111、2222、...) を取得するには、次のように変更します。
fp1 = fopen("exact_enumerated_config_442_cub_mc","r");
に:
fp1 = fopen("data.txt","r");
明確化:使用するときfopen
は、読みたいファイルの名前を書く必要があります。あなたの場合、書く必要はありdata.txt
ませんexact_enumerated_config_442_cub_mc
...この名前のファイルはありません。さらに、1 1 1 1、2 2 2 2、3 3 3 3、4 4 4 4 ...のようなデータはありません...
詳細については、次を参照してください:
wikibooks.org/wiki/C_Programming/C_Reference/stdio.h/fopen
これは、必要な出力を提供する「変更された」(余分/無駄/余分なものが{
}
削除されてdata.txt
書き込まれた) コードです: 1 1 1 1、2 2 2 2、3 3 3 3、4 4 4 4. という名前の配列を出力しbuffer
ます。だということだ...
...データが正常にコピーされました! から : "data.txt"
_ buffer[4][4]
#include"stdio.h"
#include"stdlib.h"
int main()
{
FILE *fp1;
int i,j;
int buffer[4][4];
for ( i = 0; i < 4; i++ )
for ( j = 0; j < 4; j++ )
buffer[i][j] = 0;
fp1 = fopen("data.txt","r");
for(i=0; i<4; i++)
for(j=0; j<4; j++)
fscanf(fp1,"%d", &buffer[i][j]);
fclose(fp1);
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
printf("%d ",buffer[i][j]);
printf("\n");
}
return 0;
}
PS
data.txt
含まない場合
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
しかし
1 1 1 1
2 2 2 2
3 3 3 3
4 444 // the last two elements are absent
プログラムは 1 行目、2 行目、3 行目を適切に読み取り、4 行目の出力は次のようになります。
4 444 0 0
4
、 then 、and 444
then : 最後の 2 つの要素は '0' です。これは、ゼロで初期化されたため、すべての要素の値が変更されましたが、最後の 2 つはゼロのままです。0
0
buffer