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 回答