我正在尝试在我的 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/