C ++, boost asio, получить завершенную нулем строку - PullRequest
5 голосов
/ 08 октября 2009

Как я могу получить строку с нулем в конце из сокета, используя библиотеку boost :: asio?

1 Ответ

8 голосов
/ 08 октября 2009
m_socket = boost::asio::ip::tcp::socket(io_service);
boost::asio::streambuf replyBuf;
...
...
boost::asio::read_until(m_socket, replyBuf, '\0');

А если вы хотите преобразовать streambuf в строку:

std::string retVal((std::istreambuf_iterator<char>(&replyBuf)),
                        std::istreambuf_iterator<char>());
...