C:读取文件中的特定行并返回数字

问题描述

我有一个文件“ 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 (将#修改为@)