需求:将boost::asio::streambuf转为std::string,参考了如下链接:
标题:boost.asio系列——buffer
地址:http://www.cnblogs.com/TianFang/archive/2013/02/03/2890983.html
转换的例子:
#include <iostream>
#include <boost/asio.hpp>
int main()
{
std::string url = "http://hq.sinajs.cn/list=sh204001";
//
boost::asio::streambuf request;
std::ostream request_stream(&request);
request_stream << "GET " << "/list=sh204001" << " HTTP/1.0\r\n";
request_stream << "Host: " << "hq.sinajs.cn" << "\r\n";
request_stream << "Accept: */*\r\n";
request_stream << "Connection: close\r\n\r\n";
//
int request_size = request.size();
//将boost::asio::streambuf转为std::string
boost::asio::streambuf::const_buffers_type cbt = request.data();
std::string request_data(boost::asio::buffers_begin(cbt), boost::asio::buffers_end(cbt));
//
std::cout << request_data << std::endl;
return 0;
}
完。