c++ - 读取 system() 命令错误响应消息

标签 c++ compiler-errors system command-prompt

我正在尝试在我的 Windows 10 机器上使用 C++ system() 命令执行一个应用程序(Coq 编译器)。这是我的代码:

string dospath = "coqc afile.v >> text.txt"; int errorno = system(dospath.c_str());

如果 afile.v 中存在语法/类型错误,Coq 会返回有意义的错误消息。目前,即使 Coq 返回错误(我在 C++ 应用程序的命令提示符窗口中看到错误消息),我在 text.txt 中什么也没有收到。我想读取该(任何)消息(由 coqc 返回)作为文件 text.txt 中的字符串或文本。我知道有一些方法可以使用 pstream.h 来完成,但我无法让它们在我的 Windows 机器上运行。

最佳答案

使用 >>> 仅捕获输出流。

使用 2>> 可以捕获错误流。

尝试执行:string dospath = "coqc afile.v >> text.txt 2>>error.txt"

关于c++ - 读取 system() 命令错误响应消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50349604/

相关文章:

c++ - 在 Visual Studio 中使用 System() 在 Windows 中从源 C++ 文件编译 C++ 代码

c++ - 什么是 "= delete"?

C++ 模板参数作为函数调用名称

c++ - 共享指针在循环中超出范围时出错(堆损坏?)

c++ - boost::shared_ptr 到 void * 反之亦然

.net - 编译 .net 应用程序时出现错误

qt - 如何在 Qt 中设置编译器?

linux - 在 docker exec 命令中使用 '*'

编译时未找到 JavaFX 模块(module.FindException)

python - 如何在 python 中处理 os.system sigkill 信号?