getc和putc实现文件拷贝

来源:互联网 发布:u盘做linux启动盘 编辑:程序博客网 时间:2024/06/05 23:07
#include<stdio.h>/* getc一次读取一个字符 */int main(int argc, char *argv[]){     if (argc < 3)     {        fprintf(stderr, "usage: %s filename1 filename2\n",argv[0]);        return -1;    }    FILE *fd1 = fopen(argv[1], "r"); /*以只写的方式打开文件 */    if (NULL == fd1) /* 判断文件是否打开成功 */    {        perror("fopen");        return -1;    }    int ret;    FILE *fd2 = fopen (argv[2], "w"); /* 以只读的方式打开文件 */    if (NULL == fd2)    {        perror("fopen");        return -1;    }    while(1)    {         ret = getc(fd1); /* 利用getc读取字符 */        if (EOF == ret)        {            perror("getc");            break;        }        if (EOF == putc(ret, fd2)) /*把读取的文件写到文件中 */        {            printf ("read end !\n");            break;        }    }    return 0;    }