linux下 c程序,例如a1.c a2.c已经通过gcc编译成可执行的程序。
运行 ./a1 输出“你可以输入./a1 eth0,执行此程序!”
然后运行 ./a1 eth0 输出“hello1”。
运行 ./a2 输出“你可以输入./a2 eth0,执行此程序!”
然后运行 ./a2 eth0 输出“hello2”。
eth0,可以改成eth1,eth2、........之类的是主函数传入的一个参数
现在需求是写一段c代码程序aa.c,在里面可以配置参数选择执行a1, a2。
例如
运行./aa a1 输出“你可以输入./a1 eth0,执行此程序!”,
运行./aa a1 eth0,输出“hello1”。
运行./aa a2 输出“你可以输入./a2 eth0,执行此程序!”,
运行./aa a2 eth0,输出“hello2”。
linux下 aa.c程序怎么写?
可以用如下代码:
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main(int argc, char *argv[]) {
char *priorStr = "你可以输入./";
char *laterStr = " eth0,执行此程序!";
char outputStr[80];
char command[80];
if (argc == 2) //命令行参数个数为2,例如输入./aa a1
{
strcpy(outputStr, priorStr);
strcat(outputStr, argv[1]);
strcat(outputStr, laterStr);
sprintf(command, "echo %s", outputStr);
system(command);
}
if (argc == 3) //命令行参数个数为3,例如输入./aa a1 eth0
{
system(argv[1]);
}
return 0;
}
头文件和其它与Windows操作系统不同的地方,您可以参照上次的问题修改。
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
Segmentation fault (core dumped) 提示这个错误