在cmd 上实现C语言程序的合并文件。

编写MergeFile命令,实现多文件的合并操作,命令行的最后一个参数为合并后的文件名,调用示例:“MergeFile.exe a.txt b.txt c.txt d.txt newfile.txt”,-该程序执行后,将a.txt b.txt c.txt d.txt全部合并到一起并写入到新的newfile.txt中,同时在屏幕中提示用户文件合并完毕。

那你得用int main(int argc,char *argv[])这种方式,其中argc是参数数量,argv是参数数组,通过命令行输入。

代码根据参数传入的文件名进行fopen,fread读取后,fwrite写入新文件即可

int main(int argc, char* argv[])
{
    if(argc < 2)
    {
        printf("please input files\n");
        return 0;
    }
    FILE *fp = fopen(argv[argc-1],"w");
    if(fp == NULL)
    {
        printf("write file open error\n");
        return;
    }
    FILE *fp1 = NULL;
    for(int i=0;i<argc-1;i++)
    {
        fp1 = fopen(argv[i],"r");
        if(fp1 == NULL)
        {
            printf("file%d open error!\n",i+1);
            continue;
        }
        char buf[1000] = {0};
        int n = fread(buf,1,1000,fp1);
        fclose(fp1);
        fwrite(buf,1,n,fp);  
    }
    fclose(fp);
    system("pause");
    return 0;
}

 

linux下面还是Windows下面执行