我有以下代码:
std::stringstream ss;
ss << 1 << "a b c";
std::string result;
ss >> result;
std::cout << result << std::endl;
我看到“1a”而不是“1a b c”。
我读到某个地方我应该有ss&lt;&lt;的std :: NOSKIP。但它没有帮助。
有什么想法吗?
提前致谢。
答案 0 :(得分:10)
std::getline(ss, result);
或者,只需获取string
result = ss.str();
答案 1 :(得分:-1)
//Try using this for getting whitespace in string
string input;
cout<<"\nInput : "<<input;
getline(cin,input);
string result,label;
std::stringstream sstr(input);
while(sstr>>label){
result=result+label+" ";
}
cout<<"\nResult : "<<result;