c语言TXT文件读到buffer,C.C++把整个文件内容读进一个buffer中

原创文章,未经本人允许禁止转载。

//C方式, 调用的函数繁多

//fopen,fseek,ftell,fseek,malloc,fread,fclose,free.

void foo()

{

FILE* fp=fopen(sFileName,"rb");

fseek(fp,,SEEK_END);

int len = ftell(fp);

fseek(fp,,SEEK_SET);

char* s = (char*)malloc(len);

fread(s,,len,fp);

fclose(fp);

fwrite(s,,len,stdout);//output

free(s);

}

//C++方式,易懂

void foo()

{

ifstream fs(sFileName.c_str(),ios::binary);

stringstream ss ;

ss << fs.rdbuf();

fs.close();

string str = ss.str();//read into string

}

//C++方式,高大上

//string的构造用了一个模版函数

void foo()

{

std::ifstream ifs(sFileName.c_str());

std::string str((std::istreambuf_iterator(ifs)), std::istreambuf_iterator());

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值