我正在尝试使用宽字符执行以下操作:
boost::asio::streambuf io_streambuf_;
std::iostream io_stream(io_streambuf_);我试过了,但得到了一堆编译器错误:
boost::asio::streambuf io_streambuf_;
std::wiostream wio_stream(io_streambuf_);我知道streambuf是<char>的,但是使用wchar_t缓冲流,我怎么做呢?
发布于 2011-11-29 04:35:22
streambuf是boost::asio::basic_streambuf的一个类型定义。basic_streambuf的默认模板实现是:
template<typename Allocator = std::allocator<char>>
class basic_streambuf :
noncopyable所以你需要做的就是声明:
boost::asio::basic_streambuf<std::allocator<wchar_t>> io_streambuf_;
std::wiostream wio_stream(io_streambuf_);注意:我还没有测试过这一点--但这是你的问题的核心。
https://stackoverflow.com/questions/8301576
复制相似问题