您的位置:首页 > 其它

用库函数实现文件的复制

2017-06-03 23:39 183 查看
 
#include <stdio.h>

#include <string.h>
int main(int argc, char *argv[])    //argc是命令行中参数的个数(包括./a.out) argv[]是命令行中的字符串.

{

    if (argc != 3)

    {

        printf("usage : ./copy filename1 filename2\n");

    }
    char buffer[1024] = {0};
    FILE *file1 = fopen(argv[1], "r+");    //打开第一个文件夹

    if (NULL == file1)

    {

        perror("fopen");

        return 1;

    }

    

    FILE *file2 = fopen(argv[2], "a+");    //打开第二个文件夹

    if (NULL == file2)

    {

        perror("fopen");

        return 2;

    }

   

    int count = 0;

    while (count = fread(buffer, sizeof(char), 1024, file1))  //将第一个文件夹中的字符循环读入buffer中

    {

        if(0 == count)

        {

            perror("fread");

            fclose(file1);

            return 3;

        }

       

        int count2 = fwrite(buffer, sizeof(char), count, file2);    //将buffer中的字符写入第二个文件中

        if (count2 == 0)

        {

            perror("fwrite");

            fclose(file2);

            return 4;

        }

        memset(buffer, 0, 1024);    //清空内存

    }

    fclose(file1);   

    fclose(file2);    //关闭文件

   

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: