c++ - 如何对 string::getline 进行长度限制

标签 c++ string c++11

istream& getline (istream& is, string& str, char delim);

对于string::getline,没有参数可以通过限制字符数来防止溢出。也许cin.getline(str,length)可以弥补这个问题,但我想知道是否还有其他使用string::getline的方法。

最佳答案

std::getline()函数没有最大长度限制的参数。 std::string 本质上是动态的,它的大小会随着附加到它而增长。 std::getline() 的最大限制是 std::string::max_size() .

如果你想限制行的长度,你必须使用std::istream::getline()方法代替。

关于c++ - 如何对 string::getline 进行长度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45973659/

相关文章:

c++ - 使用 C++ 编译器包含 C 头文件时的警告

c++ - std::tr1::function 是否有合理的默认值?

C++ - 将一个 ostream 中的数据发送到另一个 ostream

c++ - gdk_screen_get_default() 返回 null

string - 如何从路径中提取文件名?

c++ - 使用可变参数模板在 C++ 中定义列表类

sql - 按另一个属性进行分组时选择一个属性

代码似乎无法正确打印连接的字符串

c++ - Qt并发: call member function from another class

c++ - 类 Vector2 最终 : shared_ptr<Vector2> correct or not (Updated! )