文件复制命令CP 的简单实现
2015-04-25 09:46
477 查看
文件复制在程序中经常会用到,不过最主要的是对文件的操作。
/* 本程序所实现的功能为 【**.exe srcFile desFile】 ,就是将srcFile 拷贝一份到desfile, 所以在运行程序时必须在后面添加两个参数,第一个是已经存在的文件的路径,另一个是需要 复制到的路径。 本程序主要是利用文件操作函数中的 fgetc() 函数 与 fputc() 函数。 函数说明: fgetc(FILE *fp): 从流中读取一个字符,同时没取完一个字符fp 指针会自动指向下一个字符。 当读取错误时会返回EOF。可以通过返回值判断当前文件是否读完。 fputc(char ch, FILE *fp): 向流中输入一个字符,与fgetc 相似,在每写入一个后fp 指向下一个,等待继续输入,或者 流关闭 在函数中我们还需要用到 fopen(char * fileName, char *type),第一个参数就是我们所需要的文件路径, 第二个参数就是读取的方式。读取方式如下: r:只读方式打开一个文本,只允许读数据 w:只写打开或建立一个文本文件,只允许写数据 a:追加打开一个文本文件,并在文件末尾写数据 rb:只读打开一个二进制文件,只读 wb:只写打开,或建立一个二进制文件,只允许写数据 ab:追加打开一个二进制文件,并在文件末尾写数据 r+:读写打开一个文本文件,允许写和读 w+:读写打开或建立一个文本文件,可以读和写 a+:读写打开一个文本文件,允许读,或在文件末尾追加数据 rb+:读写打开一个二进制文件,允许读和写 wb+:读写打开或建立一个二进制文件,允许读和写 ab+:读写打开一个二进制文件,允许读,或在文件末尾追加数据 还有第二个函数fclose(FILE *fp) ,也就是关闭文件流,这个很重要 */ #include<stdio.h>// 在这个头文件中包含了我们所需要的各个文件操作函数 int main(int argc, char* argv[]) { FILE *srcFile , *desFile;//定义两个文件指针 if(argc != 3)// 判断参数输入是否满足要求 { printf("Please input <%s srcFile desFile>",argv[0]);// 这个地方提示用户程序执行的正确方式 return 0; } srcFile = fopen(argv[1],"rb");//以读取二进制的方式打开源文件 if(srcFile == NULL) { printf("Source file open failure!!"); return 0; } desFile = fopen(argv[2],"wb");//以写入二进制方式打开目标文件 if(desFile == NULL) { printf("Destination file open failure!!"); return 0; } /* start copy */ while(!feof(srcFile))// 判断当前指针的指向是否为EOF { putc(getc(srcFile),desFile); } fclose(srcFile); fclose(desFile); return 0; }
相关文章推荐
- shell 中cp命令的简单实现(未考虑复制后文件的权限)
- Linux文件复制cp命令的实现
- linux常用命令系列—cp 复制文件与文件夹
- Linux命令:cp (copy)复制文件或目录
- 经验谈:用 cp 命令复制大量文件(432,000,000个,共39TB)
- linux中cp 命令使用介绍(复制文件或者目录)
- Linux命令之目录切换、创建/删除/复制/移动文件 - cd,mkdir,cp,mv,rmdir,rm
- 实现文件复制命令
- linux命令---复制和移动文件 cp和mv
- 【Unix/Linux】【命令】【文件,目录操作工具】复制文件或目录——cp命令
- 【Windows】Windows 8.1系统下的控制台命令COPY实现文件的复制
- Linux下如何使用cp命令复制文件及复制目录
- 操作系统实验四——文件系统的简单命令的设计与实现
- 实现简单的cp命令
- java实现简单文件复制(文件上传)以及springMVC中上传文件方式
- java和Android文件下载断点续传和图片下载代码实现,可直接复制简单实现
- Linux下之使用简单3种创建文件的命令,并实现一个Html和JavaScript小程序
- 文件读写,cp命令的实现
- 在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。
- 文件映射mmap简单设置文件大小(lseek (ftruncate可以设置文件大小))__使用mmap即文件映射实现文件的快速复制代码