Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何从矢量字符初始化stringstream_C++_String_Vector_Istringstream - Fatal编程技术网

C++ 如何从矢量字符初始化stringstream

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

目前我使用的是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_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
(这并不太难)