0

次のテキストがあります。

ASDCASDSA255878 Jack Jhon 1988 12
ASDCASDSA255878 Bill Smith 1977 12

そして、私は次のコードを持っています:

inputFile = fopen(fileName,"r");
char id[50];
char fname[50];
char lname[50];
char year[50];
char month[50];
while(fscanf(inputFile, "%s %s %s %s %s\n",id,fname,lname,year,month) == 5)
{

}
fclose(inputFile);

ファイルが開かれ、while ループ内に printf ステートメントを配置すると、ファイルが表示され、その後クラッシュします。

に変更してみ==5ました!=EOFが、同じ問題です。

4

1 に答える 1

1

ほとんどの場合、入力内の単語は 50 文字を超えています。

これを確認する最も簡単な方法は、コード内のすべての出現箇所を一時的[50]に入力ファイル サイズに変更することです。これにより、十分な大きさになります。

于 2013-09-29T09:46:23.280 に答える