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

Fread函数的用法「建议收藏」转载地址 https://www.cnblogs.com/melons/p/5791874.html 函数原型:size_t fread( void *buffer, size_t size, size_t count, FILE *stream )  buffer 是读取的数据存放的内存的指针(可以是数组,也可以是新开辟的空间,buffer就是…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
转载地址 
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()判断到底发生哪个错误. 

上一段代码:

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • thinkPHP框架中执行原生SQL语句的方法

    thinkPHP框架中执行原生SQL语句的方法

    2021年10月21日
    36
  • matlab画三维图像例题_matlab画三维曲面

    matlab画三维图像例题_matlab画三维曲面我可能真的太闲了吧···在网上看到这图觉得挺好看:t=0:pi/360:2*pi;x=sin(t);y=cos(t);z=2*x.^2+y.^2;figureplot3(x,y,z,’Color’,’r’,’LineWidth’,2);xlabel(‘x’);ylabel(‘y’);zlabel(‘z’);title(‘z=(cost)^2+2*(sint)^2’);ax…

    2022年10月11日
    3
  • freemarker把从后台传来的uct时间格式化展现到前台

    freemarker把从后台传来的uct时间格式化展现到前台freemarker把从后台传来的uct时间格式化展现到前台

    2022年4月23日
    49
  • 基于php教师档案管理系统毕业设计

    基于php教师档案管理系统毕业设计获取项目源文件,联系Q:1415736481,可指导毕设,课设随着经济的发展和社会的进步,高校的现代化管理逐渐被人们所重视,利用计算机对高校的管理在各个领域中都有广阔的发展空间和前景。高校教师档案管理系统的设计与实现对高等院校的决策者和管理者来说至关重要,对教育系统来说更是不可缺少的。本系统采用PHP语言和MySQL数据库等技术,基于B/S模式,根据管理员、教务处管理员、教师三种不同的用户权限…

    2025年6月27日
    3
  • html播放rtsp流,浏览器播放rtsp视频流解决方案

    html播放rtsp流,浏览器播放rtsp视频流解决方案最近项目中需要实时播放摄像头rtsp视频流,于是就专门做了些研究。而浏览器不能直接播放,只有通过插件或者转码来实现这个需求。要实现这个目的,可以采用的方案非常得多,有商业的也有开源的,这里主要列举一些开源的方案。这里的方案都是我尝试过了的,有些成功,有些没成功。但是因为每个项目情况不同,这次没成的方法,换个项目也许就能成。方案一:html5+websocket_rtsp_proxy实现视频…

    2022年10月17日
    2
  • leetcode-2两数相加[通俗易懂]

    leetcode-2两数相加[通俗易懂]原题链接给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9

    2022年8月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号