c ++:stringstream to vector

use*_*811 10 c++ vector stringstream

我正在尝试将字符串流中的数据存储到向量中.我可以成功地这样做但它忽略了字符串中的空格.如何使空间也被推入向量?

谢谢!

代码存根:

#include <iostream>
#include <sstream>
#include <vector>

using namespace std;

int main()
{
    stringstream s;
    string line  = "HELLO HELLO\0";

    stringstream stream(line);

    unsigned char temp;
    vector<unsigned char> vec;
    while(stream >> temp) 
        vec.push_back(temp);


    for (int i = 0; i < vec.size(); i++)
         cout << vec[i];
    cout << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Jer*_*ock 14

你为什么要使用stringstream从复制string到一个vector<unsigned char>?你可以这样做:

vector<unsigned char> vec(line.begin(), line.end());
Run Code Online (Sandbox Code Playgroud)

那将直接进行复制.如果您需要使用a stringstream,则需要先使用stream >> noskipws.