C语言读取文本文档里的数据,循环存到结构体里。怎么判断读完了,跳出循环?

也就是我结构体定义为50个,而我的txt文件里不一定有50行数据,例如,有20行,只用到20个结构体来存就够了,怎么判断读到20行就跳出循环

程序发给你,你试试吧,有问题再问:

#include<stdio.h>
int main()
{
    int a1[50];                //定义数组,大小50,结构体形式你自己定义就行 

    FILE*fp;
    int k=0;
    int i
if((fp=fopen("test.txt","r"))==NULL)  //打开文件,文件名你自己改 
    {
        printf("cant find the file!");
        return -1;
    }
    while(!feof(fp))                     // 读取到文件结束自动退出 
    {
        fscanf(fp,"%d",&a1[k]);          // 顺序读取文件内容 
        k++;
    }

printf("读取文件后,数组内的结果显示:\n");
for(i=0;i<k;i++) 
printf("%d\n",a1[i]);

    fclose(fp);
}

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-18
获取文件的大小就行了啊,然后循环OK
第2个回答  2013-09-18
读完了会有一个EOF,意思就是end of file
第3个回答  2013-09-18
判断读入的是否是EOF就好了
相似回答