函数模板--按行读取文件


#include <string>
#include <stdio.h>


//从整个字符串中按行读取内容
//rst   为要按行读取的文本内容,如整个html文件内容
int GetLine(std::string rst = "")
{
 int buffLen = 4096;
 char line[4096 + 1]; //预留一位保留截断符号0
 char *pLine = line;
 int i = 0;
 while (rst[i] != 0)
 {
  int j = 0;
  while (j < buffLen) //getline
  {
   char temp = rst[i];
   i++;
   if (temp)
   {
    *(pLine + j) = temp;
    j++;
    if (temp == 10)  //\n  换行标识符号
     break;
   }
  }
  *(pLine + j) = 0;
  printf(pLine);
 } 
}


//按行读取文件内容
//filePath 文件路径
void GetLine(std::string filePath = "")
{
 FILE *fRead;
 fRead = fopen(filePath.c_str(), "r");
 if (fRead)
 {
  int buffLen = 4096;
  char line[4096 + 1];
  char *pLine = line;
  while (!feof(fRead))
  { 
   int i = 0;
   while (!feof(fRead) && i < buffLen) //getline
   {
    char temp = fgetc(fRead);
    if (temp)
    {
     *(pLine+i) = temp;
     i++;
     if (temp == 10) //\n  换行标识符号
      break;
    }
   }
   *(pLine + i) = 0; 
   printf(pLine);
  }
  fclose(fRead);
 }
}


要点:1. if (temp == 10) //\n  换行标识符号

               以此来判断是否换行了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值