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. }  

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vscode连接力扣题库

    vscode连接力扣题库vscode连接力扣题库下载力扣插件回到力扣,点击题库,打开开发者工具(f12),点击网络,再次点击题库,点击标头,下滑找到cookie,复制cookie的值回到vscode,点击力扣图标,点击登录图标(如图),选择cookie登录,将刚刚复制的cookie值粘贴在这里即可…

    2022年10月23日
  • wifi 频段表_史上最全无线通信频率分配表,转走收藏!

    wifi 频段表_史上最全无线通信频率分配表,转走收藏!5GNR3GPP已指定5GNR支持的频段列表(可查看TS381045.2章节),5GNR频谱范围可达100GHz,指定了两大频率范围:①Frequencyrange1(FR1):就是我们通常讲的6GHz以下频段•频率范围:450MHz-6.0GHz•最大信道带宽100MHz②Frequencyrange2(FR2):就是毫米波频段•频率范围:24.25GHz-52.6…

    2022年10月20日
  • Vue生成二维码_视频生成二维码软件

    Vue生成二维码_视频生成二维码软件vue有两种生成二维码的方式,qrcode、vue-qr(有icon);

  • html怎么让无序列表横向排列_一个人把敌人的炮兵阵地

    html怎么让无序列表横向排列_一个人把敌人的炮兵阵地司令部的将军们打算在 N×M 的网格地图上部署他们的炮兵部队。一个 N×M 的地图由 N 行 M 列组成,地图的每一格可能是山地(用 H 表示),也可能是平原(用 P 表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响

  • python输入两个集合取并集_python交集并集差集

    python输入两个集合取并集_python交集并集差集第一种方法:使用python基本数据结构set集合。优点:集合运算长度可以不一致,运算效率高缺点:两个进行运算的集合中不能够含有重复的元素,如果含有的话,转成set集合后,会自动去掉重复元素a=[1,2,3]b=[1,2,6,9,12]print(set(a)&set(b))#交集print(set(a)|set(b))#并集print(set(a)^set(b))#异或,就是两个集合去掉交集的那部分print(set(a)-set(b))#差集,就

  • object finalized_finalize()方法

    object finalized_finalize()方法一、一次标记首先finalize方法是在垃圾回收时,用于确认该对象是否确认被回收的一个标记过程。确认一个对象真正被回收需要经历两次标记过程:可达性分析没有引用,这是第一次标记是否有必要执行finalize方法,如果对象没有重写finalize方法或者finalize方法已经被调用过了,那么finalize方法就是没有必要执行的,没有必要执行finalize方法的对象就会被直接回收。如果对象被判定为有必要执行finalize()方法,那么这个对象将会放置在一个叫做F-Queue的队列之中,并在稍后

发表回复

您的电子邮箱地址不会被公开。

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