我有一个界面,用于在我的solaris unix中执行mml命令,如下所示:
> eaw 0004
<RLTYP;
BSC SYSTEM TYPE DATA
GSYSTYPE
GSM1800
END
<
我在命令行执行eaw <name>
。它将启动一个接口,我可以在其中执行mml命令,我可以看到执行这些命令的输出。
我的想法是用c ++解析命令输出。 我可以取消一些解析逻辑。但是要开始如何在c ++中执行命令?有没有任何预定义的方法来做到这一点。 这应该类似于在c ++中执行sql查询。但我们使用其他库来执行sql查询。我也不想运行shell脚本或在其间创建临时文件。
我想要的是在c ++中执行命令并获得输出,甚至是在c ++中。 任何人都可以给我正确的指示吗?
答案 0 :(得分:1)
您有几种选择。从最简单,最简单到最难和最复杂的使用:
答案 1 :(得分:0)
以下代码使用sh
命令完成。这会将stdout
重定向到名为“out”的文件,稍后可以读取该文件以处理输出。可以通过管道写入进程的每个命令。
#include <stdio.h>
int main()
{
FILE *fp;
fp = popen("sh > out", "w");
if (fp) {
fprintf(fp, "date\n");
fprintf(fp, "exit\n");
fclose(fp);
}
return 0;
}