L30727795
2021-06-29 17:24
采纳率: 100%
浏览 19

在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中,同时在屏幕中提示用户文件合并完毕。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • CSDN专家-link 2021-06-29 17:35
    已采纳

    那你得用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;
    }
    
    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • LILI007 2021-06-29 18:44

    linux下面还是Windows下面执行

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题