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

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

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

#include  
  
  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;
}


你可能感兴趣的:(C++)