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程序怎么写?
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代码看一下就明白了。
即会调用相应的程序。
测试结果如下图:
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
可以跟句main函数参数的设置用vfork拉起一个应用程序或者写个shell
写个Python 多简单 print commands.getstatusoutput("./a1") C语言路径改了 还不容易改