有没有直接的方法来计算stringstream中内部字符串的大小?
在这里,str()
返回一个副本然后它获得字符串的大小.
std::stringstream oss("String");
oss.str().size();
Run Code Online (Sandbox Code Playgroud) 如何获得字符串流的字节长度.
stringstream.str().length();
Run Code Online (Sandbox Code Playgroud)
将内容复制到std :: string中.我不想复制.
或者,如果任何人都可以建议另一个在内存中工作的iostream,可以通过写入另一个ostream来传递,并且可以轻松地获得它的大小我将使用它.
我想检查 ostringstream 对象是否为空,即它不包含任何字符序列?
我检查了 ostringstream 的 cpp 参考,但我仍然不清楚。
cout << "Enter a positive integer or zero: ";
getline(cin, streamStr);
stringstream(streamStr) >> number;
if (!number) {
cout << "invalid input detected or the input is too big.\n";
return 1;
}
Run Code Online (Sandbox Code Playgroud)
像"%234"或"sdf2334"这样的输入总是下降到0,这在bool表达式中是假的,但0仍然是一个数字.如何检查输入是否真的像"%234"一样无效?