前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fread函数的用法「建议收藏」

Fread函数的用法「建议收藏」

作者头像
全栈程序员站长
发布2022-09-30 10:55:10
1.1K0
发布2022-09-30 10:55:10
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈 https://www.cnblogs.com/melons/p/5791874.html

函数原型:

size_t fread( void *buffer, size_t size, size_t count, FILE *stream ) buffer 是读取的数据存放的内存的指针(可以是数组,也可以是新开辟的空间,buffer就是一个索引) size 是每次读取的字节数 count 是读取次数 strean 是要读取的文件的指针 例如 从文件fp里读取100个字节 可用以下语句 fread(buffer,100,1,fp) fread(buffer,50,2,fp) fread(buffer,1,100,fp) ************************************************************************************** 对读出的二进制流是不能用strlen()或者sizeof()求其长度和大小的。

**************************************************************************************

fread可以读二进制文件,有时用字符方式去读文件不能读完整个文件,但是二进制方式就可以 。

这就是因为字符方式用特定的标记结尾的,读取时只要碰到该标记就自动结束

函数fread()读取[num]个对象(每个对象大小为size(大小)指定的字节数),并把它们替换到由buffer(缓冲区)指定的数组. 数据来自给出的输入流. 函数的返回值是读取的内容数量…

使用feof()或ferror()判断到底发生哪个错误.

上一段代码:

[cpp] view plain copy print ?

  1. void HelpMassage()
  2. {
  3. FILE *fp;
  4. int size = 0;
  5. char *ar ;
  6. //二进制方式打开文件
  7. fp = fopen(“lining.txt”,“rb”);
  8. if(NULL == fp)
  9. {
  10. printf(“Error:Open input.c file fail!\n”);
  11. return;
  12. }
  13. //求得文件的大小
  14. fseek(fp, 0, SEEK_END);
  15. size = ftell(fp);
  16. rewind(fp);
  17. //申请一块能装下整个文件的空间
  18. ar = (char*)malloc(sizeof(char)*size);
  19. //读文件
  20. fread(ar,1,size,fp);//每次读一个,共读size次
  21. printf(“%s”,ar);
  22. fclose(fp);
  23. free(ar);
  24. printf(“按任意键继续”);
  25. getchar();
  26. getchar();
  27. }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194233.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月13日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档