boost::asio::streambuf with wchar_t
boost::asio::streambuf with wchar_t
我正在尝试使用宽字符做以下操作:
boost::asio::streambuf io_streambuf_;
std::iostream io_stream(io_streambuf_);
我尝试了这个,但得到了一堆编译器错误:
boost::asio::streambuf io_streambuf_;
std::wiostream wio_stream(io_streambuf_);
我知道流buf是<char>
,我如何与wchar_t
缓冲流相同?
boost::asio::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_);
注意:我还没有测试过这个-但这是你的问题的核心
相关文章:
- MacOS通过在莫哈韦"wchar.h"下破碎的自制啤酒发出叮当声
- VS Code C++:不准确的系统包括路径错误(wchar.h,boost/lambda/lambda.hpp)
- 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()
- 'const char*'和'WCHAR*'
- 为什么需要与 WCHAR 相关的代码处理
- 无法使用 mingw-w64 g++ 编译:找不到 <wchar.h>
- 无法将参数 1 从 WCHAR 转换为常量字符 *
- 无法使用 swprintf 在 WCHAR* 中打印字符*
- -fshort-wchar 和 std::wstring - 分段错误
- 我应该使用 wchar 还是 char 来加密?
- 【MacOSX 10.15.1】使用 odb 生成数据库,致命错误:wchar.h:没有这样的文件或目录 #include < wchar.h>
- 如何在 C++ 中的 wcstok 中使用常量 WCHAR* 变量?
- 将字符串文本常量定义为 char const* 和 wchar const*
- 比较嵌套 for 循环中的两个 wchar 数组?
- wchar 模式下 pugixml 的链接错误
- Writing uin32_t to asio::streambuf
- Boost::asio::streambuf consumption() 不清空缓冲区
- 字符 - 'pub' 在 std::streambuf::p ubsetbuf() 方法中是什么意思?
- strcmp 错误'WCHAR [260]' 'const char *'
- 取得 streambuf/stringbuf 数据的所有权