小编rak*_*ib_的帖子

我应该总是明确关闭stdout吗?

我正在尝试集成一个从stdin读取的小型Win32 C++程序,并将解码结果(〜128 kbytes)写入输出流.

我把整个输入读入缓冲区

while (std::cin.get(c)) { }
Run Code Online (Sandbox Code Playgroud)

将整个输出写入stdout后.

当我从命令行运行应用程序时,一切正常test.exe < input.bin > output.bin,但是这个小应用程序应该从Python运行.

我希望Python subprocess.communicate应该被使用,文档说:

与流程交互:将数据发送到stdin.从stdout和stderr读取数据,直到达到文件结尾.等待进程终止.

因此communicate(),在等待我的应用程序完成之前,请等到文件结束 - 当我的应用程序退出时,是否应该发生EOF?或者我应该明确地做fclose(stderr)和fclose(stdout)吗?

c++ python windows subprocess pipe

2
推荐指数
1
解决办法
1050
查看次数

标签 统计

c++ ×1

pipe ×1

python ×1

subprocess ×1

windows ×1