【发布时间】:2014-07-11 18:30:25
【问题描述】:
首先,这个问题是基于我在这里的最后一个问题:Reading Console Buffer / Output C++
我有一个已编译的可执行二进制文件。它有一些输出,我想将它重定向到另一个处理这些行的程序。我成功找到了输出的发送位置,并将其修改为STDOUT。问题是,当我像这样使用它时:
./jampDed.exe | stdout.exe
然后输出不同步。我每 1000-2000 个字节获取一次内容。
stdout.cpp
#include <iostream>
int main() {
std::string s;
while (std::getline(std::cin, s, '\n')) {
std::cout << s << std::endl;
}
return 0;
}
我还画了一张关于程序集修改的图,里面默认使用了Kernel32.WriteFile函数。
所以问题是,我怎样才能让它同步?如何在专用服务器上立即获取每一行?
【问题讨论】: