[C/C++]_[初级]_[读取文件,每次读取一行并显示]

来源:互联网 发布:网络拓扑发现软件 编辑:程序博客网 时间:2024/05/09 22:17

场景:读取大数据文件,一段一段进行读取,以节省一下读取文件内存占用大的问题,并且这样效率也不高。

下面是读取一行数据进行处理,每次读取的大小都是固定的,直到读完为止。

#include <stdio.h>     char * ReadSpeacialLine(int i)   {      char filename[] = "E:\\VC++\\test.txt"; //文件名      FILE *fp;       int which_line=i;             //指定要读取哪一行      int current_index=0;             //当前读取的行      char strLine[512];             //每行最大读取的字符数,可根据实际情况扩大     if((fp = fopen(filename,"r")) == NULL) //判断文件是否存在及可读     {          printf("error!");          return NULL;      }       while (!feof(fp))      {               if (current_index==which_line)         {             fgets(strLine,512,fp);  //读取一行             printf("%s", strLine); //输出             return strLine;         }         fgets(strLine,512,fp);  //读取一行,并定位到下一行        current_index++;          //printf("%s", StrLine); //输出     }      fclose(fp);                     //关闭文件     return NULL;  }int main(int agrc,char* agrv[]){char *temp =ReadSpeacialLine(2);return 0;}


0 0
原创粉丝点击