[英]execute and receive the output of mml command in c++
我有一个接口,可用于在我的solaris Unix中执行mml命令,如下所示:
> eaw 0004
<RLTYP;
BSC SYSTEM TYPE DATA
GSYSTYPE
GSM1800
END
<
当我在命令行上看到eaw <name>
时,它将启动一个界面,在该界面中我可以执行mml命令,并且可以看到执行的命令的输出。
我的想法是解析c ++中的命令输出。 我可以取消一些解析逻辑。但是从如何开始在C ++中执行命令开始呢? 是否有任何预定义的方法来执行此操作。 这应该类似于在c ++中执行sql查询,但是我们使用其他库来执行sql查询。我也不想运行shell脚本或在两者之间创建临时文件。
我想要的是在c ++中执行命令并获得输出,甚至在c ++中也是如此。 有人可以给我正确的方向吗?
以下代码是使用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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.