库函数实现文件复制

来源:互联网 发布:linux vim 复制一行 编辑:程序博客网 时间:2024/06/07 07:07
#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){    char *ptr;    if (argc != 3)    {        printf("Usage: %s file1 file2\n", argv[0]);        return 1;    }    FILE* fp1 = fopen(argv[1], "r+");    if (NULL == fp1)    {        perror("fopen\n");        fclose(fp1);        return 2;    }    FILE* fp2 = fopen(argv[2], "w+");    if (NULL == fp2)    {        perror("fopen\n");        fclose(fp2);        return 4;    }    char buffer[1024] = {0};    int count = 0;    while (count = fread(buffer, sizeof(char), 1024, fp1))    {        if (0 == count)        {            perror("fread\n");            return 3;        }        ptr = buffer;        int count2 = fwrite(ptr, sizeof(char), count, fp2);        if (0 == count2)        {            perror("fwrite\n");            return 5;        }    }    fclose(fp1);    fclose(fp2);    return 0;}