问题描述
我有一个文件“ input.dat”。在此文件中,共有3行:
1 2 3
5 7 10 12
8 9 14 13 15 17
我将使用C读取三行之一,并返回元素的数量。
例如,我想将第二行5 7 10 12
读入内存,并返回第二行中的值数4
。我的代码在下面...
#include <stdio.h>
#include <stdlib.h>
#define STRING_SIZE 2000
int main()
{
FILE *fp = fopen("in.dat","r");
char line[STRING_SIZE];
int lcount=0,nline=1,sum=0,number;
if (fp != NULL){
while ( fgets(line,STRING_SIZE,fp) != NULL )
{
if ( lcount == nline ){
while (sscanf(line,"%d ",&number)){
sum++;
}
break;
}
else{
lcount++;
}
}
fclose(fp);
}
exit(0);
}
运行此代码时,它永远不会像死循环一样停止。这是什么问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)