Разве boost :: asio не полностью совместим с UNICODE? - PullRequest
3 голосов
/ 07 октября 2011

Я пишу приложение на C ++, которое использует boost :: asio для некоторых операций http.Я выбрал 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 функция принимает символ в качестве разделителя.Я что-то здесь не так делаю?Обратите внимание, что я новичок в Юникоде, никогда раньше не нуждался в этом.

boost :: asio :: basic_streambuf происходит от std :: streambuf вместо std :: basic_streambuf, поэтому я подозреваю, что boost :: asio на самом деле не UNICODEсоответствует.

1 Ответ

0 голосов
/ 03 ноября 2011

Правильно, boost :: asio не совместим с UNICODE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...