c++ - 在 C++ 中执行和接收 mml 命令的输出

标签 c++ c parsing

我有一个界面,用于在我的 solaris unix 中执行 mml 命令,如下所示:

> eaw 0004
<RLTYP; 
BSC SYSTEM TYPE DATA

GSYSTYPE
GSM1800

END
<

我会尽快eaw <name>在命令行上。它将启动一个界面,我可以在其中执行 mml 命令,并且可以看到执行的这些命令的输出。

我的想法是用 C++ 解析命令输出。 我可以取消一些解析逻辑。但首先要了解如何让命令在 c++ 中执行?是否有任何预定义的方法来执行此操作。 这应该类似于在 c++ 中执行 sql 查询。但是我们使用其他库来执行 sql 查询。我也不想运行 shell 脚本或在两者之间创建临时文件。

我想要的是在 C++ 中执行命令并获取输出,甚至在 C++ 中获取输出。 谁能给我正确的指示?

最佳答案

您有多种选择。从最简单到最难和最复杂的使用:

  • 使用system()调用以生成 shell 以运行命令
  • 使用popen()调用生成子进程并写入其标准输入流或从其标准输出流读取(但不能同时读取)
  • 使用 pipe() 的组合, fork() , dup()/dup2() , 和 exec*()生成子进程并为子进程的标准输入和输出设置管道。

关于c++ - 在 C++ 中执行和接收 mml 命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15492951/

相关文章:

C++:使用运算符 = 调用多参数构造函数

c++ - Glibc 2.7 配置错误程序太旧

无法在 "C"中找到变量的空间(100 字节)

ios - swift ,Alamofire,SwiftyJSON : How to parsing arrayObject

c++ - 自定义预期失败的完整错误消息 (boost::spirit::x3)

bash - 从文本文件中解析出必要的部分

C++通过迭代器更新 vector 元素

c++ - Widget&& rhs 是左值还是右值引用

将指针转换为整数

c - 从 ELF 二进制文件中仅提取我的函数名称