c++ - 用于读入字符串时 C++ 提取运算符的行为

标签 c++ string iostream

我正在处理一些 C++ 代码,并注意到以下形式的一些代码:

ss >> str;

其中 ss 是一个流(在本例中是一个字符串流),而 str 是一个字符串。

这段代码定义的行为是什么?具体这个执行后str的值是多少?

最佳答案

除非skipws标志设置在 ss.flags() (默认情况下,但是 你可以取消设置),空白被跳过(而不是复制到 str ), 然后 ss从输入中复制文本,直到出现空白或结束 遇到文件(或内存不足,或读取 std::string::max_size字符)。

什么是空白是由ctype<char>决定的语言环境充满 ss .

关于c++ - 用于读入字符串时 C++ 提取运算符的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6231104/

相关文章:

c++ - MSVC 和 boost::lambda::bind 错误:T0:不允许标准参数

C++ 理解 RVO(与返回局部变量引用相比)

string - 如何在 Scala 中迭代列表的每个元素时修改它?

android - 为什么我的广播接收器无法识别我的字符串 - 发送短信代码

c++ - 为什么需要两个 EOF 作为输入?

c++ - 为什么 std::getline() 在格式化提取后跳过输入?

c++ - 使用 constexpr 遇到麻烦

c++ - fstream 用于读写

c - 如何在c中查找两个特定字符串之间的文本

c++ - 如何在不复制和保留 std::string 对象的情况下获得 C++ std::string char 数据的所有权?