内部的Fscanf一直在崩溃?

时间:2013-09-29 09:44:26

标签: c while-loop scanf

我有以下文字:

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但问题相同。

1 个答案:

答案 0 :(得分:1)

输入中的单词很可能超过50个字符。

检查此问题的最简单方法是暂时将代码中出现的所有[50]更改为输入文件大小,因此它足够大。