用fread和fwrite把一个文件拷贝到另外一个文件,feof ferror bzero
2017-11-28 21:46
375 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> //feof ferror bzero //用fread和fwrite把一个文件拷贝到另外一个文件 int main(int argc,char *argv[]) { FILE *read_fp,*write_fp; if(argc !=3) { printf("usage %s <filename1> <filename2>\n",argv[0]); exit(1); } read_fp = fopen(argv[1],"r");//分别打开 if(read_fp == NULL) { perror("1fopen"); exit(1); } write_fp = fopen(argv[2],"w");//分别打开 if(write_fp == NULL) { perror("2fopen"); exit(1); } int ret; char buf[20]; while( !feof(read_fp) && !ferror(read_fp))//没有到文件末尾并且没有出错 { bzero(buf,20);//清空 ret = fread(buf,sizeof(char),20,read_fp);//fread返回值是读取的数量,必须要有fread fwrite(buf,sizeof(char),ret,write_fp); fwrite(buf,sizeof(char),ret,stdout); //标准输出 } fclose(read_fp); fclose(write_fp); return 0; }
编译过程 $ ./a.out 14_feof.c test1.c
相关文章推荐
- c 文件拷贝 fopen fwrite fread
- java拷贝目录及其子目录、文件,到另外一个目录
- 使用批处理把某一文件拷贝到另外一个盘下的所有文件夹
- windows命令行下批量拷贝同一后缀的文件到另外一个目录
- 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets
- VS C#工程【调用另外一个项目的类】【第一个工程:文件拷贝】
- 【转】一个问题引发的"血案" 之 文件的读写原理(fread, fwrite, fflush)
- 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets
- 用fgetc和fputc把一个文件拷贝到另外一个文件
- java拷贝目录及其子目录、文件,到另外一个目录
- 标准文件操作的函数,fprintf,fseek,fread,fwrite,feof,ferror, clearerr
- fread和fwrite同时对一个文件读写
- 把一个文件拷贝到另外一个文件,需要打开两个文件,一个读取,一个写入
- 将目标文件的一部分或者全部内容拷贝到另外一个目标文件中 objcopy
- 使用java来把一个目录下的所有文件拷贝到另外一个目录下,并且重命名
- 在linux中怎样用命令完全拷贝一个目录下的所有文件(包括隐藏文件以及文件夹)到另外一个目录下
- 如何使用Fread和Fwrite写一个复制文件的函数
- [置顶] 使用java来把一个目录下的所有文件拷贝到另外一个目录下,并且重命名
- PHP读写大“二进制”文件,不必申请很大内存(fopen、fread、fwrite、fclose)
- IO流——实现一个文件拷贝的功能