【发布时间】:2016-10-21 11:32:14
【问题描述】:
我有一些简单的代码:
#include <iostream>
#include <string>
int main() {
boost::asio::io_service ioservice;
TCPServer server(ioservice);
std::cout << "hello world";
ioservice.run();
}
我找到了上面的 hello world 字符串。虽然当我调用service.run() 时,我的终端上没有输出字符串。当我删除最后一个调用表达式时,可以看到输出。让我烦恼的是,我在通话之前就开始了 cout 并且没有输出任何内容。即使在我的 TCP 服务器上定义的处理程序上, cout 也似乎不可用。那么人们在使用 Boost Asio 时如何登录到标准输出呢?
【问题讨论】:
-
如果你使用
endl来刷新cout呢? -
试试:
std::cout << "hello world" << std::flush;它可能只是在等待输出缓冲区填满。
标签: c++ boost boost-asio