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

本文介绍了一个使用C语言实现的大数据文件逐行读取的方法,通过固定大小读取每一行,解决了内存占用过高的问题。适用于需要处理大型文本文件但受限于内存资源的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值