是不是boost :: asio完全符合UNICODE标准?

时间:2011-10-07 12:30:13

标签: c++ unicode boost-asio

我正在编写一个使用boost :: asio进行某些http操作的C ++应用程序。假设它完全符合unicode,我选择了boost :: asio。但是,我无法在UNICODE中编译,因为asio的某些部分被硬编码为char。

案例:

#ifndef TCHAR
    #ifdef _UNICODE
        #define TCHAR wchar_t
    #else
        #define TCHAR char
    #endif
#endif

// The following lines only complile in MBCS and not in UNICODE.
boost::asio::basic_streambuf<std::allocator<TCHAR> > request;
std::basic_ostream<TCHAR, std::char_traits<TCHAR> > requestStream(&request);

boost :: asio :: read_until 函数接受char作为分隔符。我在这里做错了吗?请注意我是unicode的新手,以前从未需要它。

boost :: asio :: basic_streambuf派生自std :: streambuf而不是std :: basic_streambuf,所以我怀疑boost :: asio不是真的符合UNICODE。

1 个答案:

答案 0 :(得分:0)

正确,boost :: asio不符合UNICODE。