【发布时间】:2020-04-21 18:47:27
【问题描述】:
我有一个 C(on windows) 程序,它有一个返回值的 main 函数。
#include <stdio.h>
int testData()
{
int testErr = 0;
// ....
return(testErr);
}
int main(void) {
int mainErr = 0;
mainErr = testData();
printf("mainerr = %d", mainErr);
return mainErr;
}
这个 C 代码可执行文件 myTest.exe 是通过 python 运行的。
self.run_cmd = "myTest.exe "+cmd # pass agruments to the C exe
self.testRun = subprocess.run(self.run_cmd,
stdout=subprocess.PIPE, stdin=None, stderr=subprocess.PIPE,
bufsize=0, universal_newlines=True, timeout=100)
print(">>>>", self.testRun.stdout)
print(">>>>", self.testRun.stderr)
使用 "print(">>>>", self.testRun.stdout)" 我没有在 python 中获得 C 代码的返回值。 python中如何获取C main返回的返回值。
【问题讨论】:
-
尝试检查 testRun.returncode
-
感谢 ChatterOne 的回复。但这并没有帮助。尝试其他建议。