前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >fread、fwrite 制作文件复制程序

fread、fwrite 制作文件复制程序

作者头像
我与梦想有个约会
发布2023-10-20 16:20:51
1350
发布2023-10-20 16:20:51
举报
文章被收录于专栏:jiajia_dengjiajia_deng

通过Windows的CTRL+C、CTRL+V可以非常方便的复制文件,实际内部也一样是通过读写文件来完成的,通过Windows的命令行我们也可以使用copy.exe的相关命令来复制文件。本文就模仿copy.exe程序制作一个文件复制的程序。具体代码如下:

代码语言:javascript
复制
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[])
{
if (argc < 3)
{
printf(“file.exe src dest\n”);
return -1;
}
// 根据输入进来的文件分别以二进制方式打开文件
FILE* src = fopen(argv[1], “rb”);
if (NULL == src) return -2;
FILE* dest = fopen(argv[2], “wb”);
if (NULL == dest)
{
fclose(src);
return -2;
}
char buf[1024];
int size = 0;
// 读取src文件内容
while ((size = fread(buf, 1, 1024, src)) > 0)
{
// 将读取到的内容写入到dest中
fwrite(buf, size, 1, dest);
}
fclose(src);
fclose(dest);
system(“pause”);
return 0;
}

将程序编译后,在命令行下使用 file.exe src dest 这样的格式,即可赋值src文件为dest文件。Windows和Unix/Linux以上代码都可以正常运行。我们使用的是二进制方式打开文件,读取每一个字节再写入到另外文件中。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档