标准 IO fread 与 fwrite 的使用(可以实现二进制流的读写)
2024-09-07 12:01:43
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 ;
}
最新文章
- C#图像处理
- NC JDK报tools.jar错误(61版本)
- (实用篇)php数组查找函数in_array()、array_search()、array_key_exists()使用
- webpack多页面开发与懒加载hash解决方案
- js实现iframe自适应高度
- JAVA小记
- vmstat 命令详解 转载
- CSS+DIV 布局三种定位方式
- Lake Counting(poj 2386)
- Python 2.7 Exception格式化工具
- 并发服务器--02(基于I/O复用——运用Select函数)
- 点击<;a>;页面跳转解决办法/跨域请求,JSONP
- AndroBench手机性能测试【转】
- Asp.net Core 打包发布 (Linux+Nginx)
- 洗礼灵魂,修炼python(11)--python函数,模块
- sublime text 中 .vue文件中的scss语法无法高亮bug怎么解决
- while与do/while循环
- 机器学习初入门01-numpy的基础用法
- HDU 4638 Group (线段树 | 树状数组 + 离线处理)
- 第二天-while循环 格式化输出 运算符 编码