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);

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

#include <stdio.h>

int main(int argc, const char *argv[])
{
FILE *fp = NULL;
fp = fopen(argv[],"w");
if(fp == NULL)
{
perror("fail open :");
return -;
}
int a[] = {,,,}; //二进制流 fwrite(a,sizeof(int),sizeof(a)/sizeof(int),fp);//写二进制流
fclose(fp); //写完,关闭,再以只读方式打开 fp = fopen(argv[],"r"); //以只读方式打开
if(fp == NULL)
{
perror("fail open :");
return -;
}
int b[] = {};
fread(b,sizeof(int),,fp); int i=;
for(i=;i<;i++)
{
printf("%d ",b[i]);
}
fclose(fp);
return ;
}

例子: 实现文件内容复制

#include <stdio.h>
int main(int argc, const char *argv[])
{
FILE *fp_w = NULL;
FILE *fp_r = NULL; fp_r = fopen(argv[],"r"); //读
if(fp_r==NULL)
{
perror("r fail :");
return -;
} fp_w = fopen(argv[],"w");//写
if(fp_w==NULL)
{
perror("w fail :");
return -;
} char a[] = {};
while()
{
//fread返回值,成功返回读取的个数,失败,返回EOF(-1),读取0个已经读到文件结束了
if(fread(a,sizeof(char),sizeof(a)/sizeof(char),fp_r) == )
{
perror("fread fail : ");
break;
}
fwrite(a,sizeof(char),sizeof(a)/sizeof(char),fp_w); //写数据到文件
}
puts("cp done");
fclose(fp_w); //关闭文件
fclose(fp_r); return ;
}

标准 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. 【牛客网-剑指offer】用两个栈实现队列

    题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 知识点及概念: 队列:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而 ...

  2. Android消息处理:EventBus、BroadCast和Handler-优缺点比较

    上一篇研究了EventBus的使用方法,但随之而来的一系列问题也是值得思考,EventBus到底给项目带来了什么?它与Android原有的消息处理机制有什么区别和优缺点?项目在什么场景下采用Event ...

  3. 每天一个Linux常用命令 命令

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 :chmod 777 /root 第一个7指文件所属用户,第二个7指文件所属用户的用户组,第三个7指其他用户 说明 : Linux/Uni ...

  4. PHP-移除元素

    给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  5. python爬虫学习(3):使用User-Agent和代理ip

    使用User-Agent方法一,先建立head,作为参数传进去 import urllib.requestimport json content=input("请输入需要翻译的内容:&quo ...

  6. 61. File类

    IO技术主要作用是解决设备与设备之间的数据传输问题.比如:硬盘---->内存     内存的数据---->硬盘上    把硬盘的数据------>内存中 IO技术的应用场景:     ...

  7. oscache缓存

    oscache 使用总结 Posted on 2009-05-22 22:45 青果 阅读(1270) 评论(2)  编辑  收藏 所属分类: 技术点滴  前阵子对公司网站进行了性能优化,其中,有一项 ...

  8. Java异常架构与异常关键字

    Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性.在有效使用异常的情况 ...

  9. spring约束

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  10. PHP ftp_chdir() 函数

    定义和用法 ftp_chdir() 函数改变 FTP 服务器上的当前目录为指定目录. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE 和一个警告. 语法 ftp_chdir(ftp_co ...