size_t   fread(void *ptr,  size_t size,   size_t nmemb,   FILE *stream);

size_t   fwrite(const void *ptr,  size_t size,  size_t nmemb,  FILE *stream);

例子 : 读写文件(二进制操作)

  1. #include <stdio.h>
  2.  
  3. int main(int argc, const char *argv[])
  4. {
  5. FILE *fp = NULL;
  6. fp = fopen(argv[],"w");
  7. if(fp == NULL)
  8. {
  9. perror("fail open :");
  10. return -;
  11. }
  12. int a[] = {,,,}; //二进制流
  13.  
  14. fwrite(a,sizeof(int),sizeof(a)/sizeof(int),fp);//写二进制流
  15. fclose(fp); //写完,关闭,再以只读方式打开
  16.  
  17. fp = fopen(argv[],"r"); //以只读方式打开
  18. if(fp == NULL)
  19. {
  20. perror("fail open :");
  21. return -;
  22. }
  23. int b[] = {};
  24. fread(b,sizeof(int),,fp);
  25.  
  26. int i=;
  27. for(i=;i<;i++)
  28. {
  29. printf("%d ",b[i]);
  30. }
  31. fclose(fp);
  32. return ;
  33. }

例子: 实现文件内容复制

  1. #include <stdio.h>
  2. int main(int argc, const char *argv[])
  3. {
  4. FILE *fp_w = NULL;
  5. FILE *fp_r = NULL;
  6.  
  7. fp_r = fopen(argv[],"r"); //读
  8. if(fp_r==NULL)
  9. {
  10. perror("r fail :");
  11. return -;
  12. }
  13.  
  14. fp_w = fopen(argv[],"w");//写
  15. if(fp_w==NULL)
  16. {
  17. perror("w fail :");
  18. return -;
  19. }
  20.  
  21. char a[] = {};
  22. while()
  23. {
  24. //fread返回值,成功返回读取的个数,失败,返回EOF(-1),读取0个已经读到文件结束了
  25. if(fread(a,sizeof(char),sizeof(a)/sizeof(char),fp_r) == )
  26. {
  27. perror("fread fail : ");
  28. break;
  29. }
  30. fwrite(a,sizeof(char),sizeof(a)/sizeof(char),fp_w); //写数据到文件
  31. }
  32. puts("cp done");
  33. fclose(fp_w); //关闭文件
  34. fclose(fp_r);
  35.  
  36. return ;
  37. }

标准 IO fread 与 fwrite 的使用(可以实现二进制流的读写)的更多相关文章

  1. 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

    函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...

  2. C编程中fread 、fwrite 用法总结

    在C语言中进行文件操作时,我们经常用到fread()和fwrite(),用它们来对文件进行读写操作.下面详细绍一下这两个函数的用法.   我们在用C语言编写程序时,一般使用标准文件系统,即缓冲文件系统 ...

  3. [APUE]标准IO库(下)

    一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...

  4. [APUE]标准IO库(上)

    一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...

  5. 标准io与文件io

    A: 代码重复: 语句块1: while(判断) { 语句块2: 语句块1: } 上面可以改写为: while(1) { 语句块1: if(判断) break: 语句块2: } B: 标准IO和文件I ...

  6. 【linux草鞋应用编程系列】_1_ 开篇_系统调用IO接口与标准IO接口

    最近学习linux系统下的应用编程,参考书籍是那本称为神书的<Unix环境高级编程>,个人感觉神书不是写给草鞋看的,而是 写给大神看的,如果没有一定的基础那么看这本书可能会感到有些头重脚轻 ...

  7. linux标准io的copy

    ---恢复内容开始--- 1.linux标准io的copy #include<stdio.h> int main(int argc,char **argv) { if(argc<3) ...

  8. (九)errno和perror、标准IO

    3.1.6.文件读写的一些细节3.1.6.1.errno和perror(1)errno就是error number,意思就是错误号码.linux系统中对各种常见错误做了个编号,当函数执行错误时,函数会 ...

  9. 标准IO的简单应用,动静态库,读取系统时间并打印,模拟ls -l功能

    2015.2.27星期五,小雨 标准IO实现的复制功能: #include <stdio.h>#include <errno.h> #define N 64 int main( ...

随机推荐

  1. Json解析之FastJson

    版权声明:转载请注明出处 https://blog.csdn.net/heqiangflytosky/article/details/37659943 1.FastJson介绍 FastJson是阿里 ...

  2. HttpClient 之Fluent API 简单使用

    相比于HttpClient 之前的版本,HttpClient 4.2 提供了一组基于流接口(fluent interface)概念的更易使用的API,即Fluent API. 为了方便使用,Fluen ...

  3. servlet配置url-pattern的匹配规则

    <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.qf.servlet.H ...

  4. 微信小程序のwxss选择器

    一.什么是选择器 选择器就是选择标签所用样式的模式,即:以什么方式设置样式. 二.微信小程序的样式选择器 .calss就是选择器的一种 三.选择器的优先级 element表示样式元素:.element ...

  5. 前后台 工作切换---------------Linux 任务管理器(一)

    继续下一章... 发现了一个好东东.就是前后台的切换.例如我们现在要vim一个文件.然后又要查找一些命令的时候,以前不知道,都是退出后,查完了,在vim进入.现在我们可以将该vim拿到后台,然后查完了 ...

  6. 基于Libpcap实现一个网络数据包嗅探器

    基本功能就是来捕获所有流经本网卡的数据包. 实现流程: 查找网络设备 打开网络设备 查找设备信息 输入过滤规则 编译输入规则 设置输入规则 开始捕获数据包 调用数据包分析模块 输出MAC,IP,协议以 ...

  7. eclipse中server location为灰色,不能修改

    当自己用eclipse写好了web项目后,也同时配置了服务器(tomcat6), 上面部署完毕后,直接访问http://localhost:8080 发现是 无法访问的,这是因为,Servers这里的 ...

  8. thymeleaf onclick方法向js方法传递参数

    如下图 这个错误并不影响 请放心使用

  9. lombok 注解简单介绍

    一.Lombok 的简单介绍和使用 Lombok是一个可以帮助我们简化 Java 代码编写的工具类,通过采用注解的方式简化了 JavaBean 的编写,使我们写的类更加简洁. 1. 添加 Lombok ...

  10. Delphi 打印纸张选项设置参数

    { paper selections } {$EXTERNALSYM DMPAPER_LETTER} DMPAPER_LETTER = 1; { Letter 8 12 x 11 in } {$EXT ...