未知昵称 2017-06-08 03:33 采纳率: 50%
浏览 1486
已采纳

c语言程序执行多个可执行程序问题

linux下 c程序,例如a1.c a2.c a3.c已经通过gcc编译成可执行的程序。
运行./a1 输出“hello1”
运行./a2 输出“hello2”
运行./a3 输出“hello3”
现在需求是写一段c代码程序aa.c,在里面可以配置参数选择执行a1, a2, a3哪个程序,
编译aa.c,
运行./aa -a1 输出“hello1”,
运行./aa -a2 输出“hello2”,
运行./aa -a3 输出“hello3”,

linux下 aa.c程序怎么写?

  • 写回答

4条回答 默认 最新

  • 战在春秋 2017-06-08 06:03
    关注

    aa.c 文件的代码如下:

    #include <stdio.h>
    #include <windows.h>
    
    int main(int argc, char *argv[]) {   
    
        int length = sizeof(argv[1]) / sizeof(char);
    
        for (int i = 0; i < length - 1; i++)
        {
            argv[1][i] = argv[1][i + 1];
        }
    
      //以上代码从 '-a1' 中剔除掉' -' 得到 'a1'
        system(argv[1]);   //运行 a1
    
        return 0;
    }
    

    将编译后的aa.exe 和 a1.exe,a2.exe,a3.exe 放到 同一目录

    然后在dos提示符下,转到上述四个exe文件所在目录,按以下格式输入:

     aa -a1  //命令行参数个数argc =2 , 第一个参数argv[0] = "aa" ,  第二个参数argv[1] = "-a1" 。结合aa.c代码看一下就明白了。
    

    即会调用相应的程序。

    测试结果如下图:
    图片说明

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作