码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++ Reference: Standard C++ Library reference: C Library: cstdio: fread


    C++官网参考链接:https://cplusplus.com/reference/cstdio/fread/

    函数
    <cstdio>
    fread
    size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
    从流中读取数据块
    从stream中读取count个元素的数组,每个元素的大小为size个字节,并将它们存储在ptr指定的内存块中。
    stream的位置指示符按读取的字节总数向前移动。
    如果成功,则读取的字节总数为size*count。

    形参
    ptr
    指向内存块的指针,其大小至少为size*count个字节,转换为void*。
    size 
    要读取的每个元素的字节大小。
    size_t是无符号整型。
    count
    元素数量,每个元素的大小为size个字节。
    size_t是无符号整型。
    stream
    指向指定输入流的FILE对象的指针。

    返回值
    返回成功读取的元素总数。
    如果该数字与count形参不同,则要么发生了读取错误,要么在读取时已到达文件结束。在这两种情况下,都设置了适当的指示符,可以分别用ferror和feof进行检查。
    如果size或count为0,则函数返回0,并且stream状态和ptr所指向的内容保持不变。
    size_t是无符号整型。

    用例
    /* fread example: read an entire file */
    #include
    #include

    int main () {
      FILE * pFile;
      long lSize;
      char * buffer;
      size_t result;

      pFile = fopen ( "myfile.bin" , "rb" );
      if (pFile==NULL) {fputs ("File error",stderr); exit (1);}

      // obtain file size:
      fseek (pFile , 0 , SEEK_END);
      lSize = ftell (pFile);
      rewind (pFile);

      // allocate memory to contain the whole file:
      buffer = (char*) malloc (sizeof(char)*lSize);
      if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}

      // copy the file into the buffer:
      result = fread (buffer,1,lSize,pFile);
      if (result != lSize) {fputs ("Reading error",stderr); exit (3);}

      /* the whole file is now loaded in the memory buffer. */

      // terminate
      fclose (pFile);
      free (buffer);
      return 0;
    } 
    这段代码将myfile.bin加载到动态分配的内存缓冲区中,该缓冲区可用于将文件的内容作为数组操作。

  • 相关阅读:
    MIT6.s081/6.828 lectrue4:page tables 以及 Lab3 心得
    公众号模板消息
    Unity:UI自动布局与多级菜单
    Docker Hub 镜像代理加速
    学生管理系统VueAjax版本
    54 循环神经网络 RNN【动手学深度学习v2】
    前端学习笔记(4) Vue3 全局属性 app.config.globalProperties 使用案例
    全面深入了解什么是反向代理和负载均衡
    C语言技术, 有云控经验最好
    [极致用户体验] 你的 Link Button 能让用户选择新页面打开吗?
  • 原文地址:https://blog.csdn.net/weixin_40186813/article/details/127340193
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号