用fread和fwrite把一个文件拷贝到另外一个文件,feof ferror bzero

来源:互联网 发布:大众汽车配件软件 编辑:程序博客网 时间:2024/06/06 03:41
#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

阅读全文
0 0
原创粉丝点击