ccc9149
未知昵称
采纳率89.7%
2017-06-08 03:33 阅读 1.3k
已采纳

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

5

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条回答 默认 最新

  • 已采纳
    fight_in_dl 战在春秋 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 评论 复制链接分享
  • qq_30069409 wanwan_1996 2017-06-08 03:39

    可以跟句main函数参数的设置用vfork拉起一个应用程序或者写个shell

    点赞 评论 复制链接分享
  • qq948993066 TensorGroot 2017-06-08 03:39

    写个Python 多简单 print commands.getstatusoutput("./a1") C语言路径改了 还不容易改

    点赞 评论 复制链接分享
  • tubeyxy tubeyxy 2017-06-08 04:51
    点赞 评论 复制链接分享

相关推荐