C++ 如何从矢量字符初始化stringstream
目前我使用的是boostchar数组C++ 如何从矢量字符初始化stringstream,c++,string,vector,istringstream,C++,String,Vector,Istringstream,目前我使用的是boostchar数组 boost::array<char, 512> received_data; std::istringstream ss_(received_data.data()); boost::阵列接收到\u数据; std::istringstream ss_u(received_data.data()); 但如果我收到的_数据是std::vector收到的_数据(512) 然后,我如何将该数据获取到我的std::istringstream ss_u
boost::array<char, 512> received_data;
std::istringstream ss_(received_data.data());
boost::阵列接收到\u数据;
std::istringstream ss_u(received_data.data());
但如果我收到的_数据是std::vector收到的_数据(512)代码>
然后,我如何将该数据获取到我的std::istringstream ss_uu
?std::vector receivedData(512);
std::vector<char> receivedData(512);
std::istringstream iss(&receivedData[0]);
std::istringstream iss(&receivedData[0]);
istringstream接受一个字符串,一个字符串可以由两个字符迭代器组成,如下所示:
istringstream iss(string(v.begin(), v.end()));
如果数据中没有0,则最后一个是0。@ USER 9461,迭代器对。如果在代码< STD::矢量< /代码>的中间有一个<代码> 0 <代码>,那么迭代器版本将只将部分包含到<代码> 0 <代码>中,据我所知,因此,迭代器版本是首选。这会产生不必要的数据副本。没有简单(正确)的方法来正确地完成这项工作。要正确地执行此操作,您必须使用boost或实现自己的streambuf
(这并不太难)