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

时间:2017-08-31 05:16:09

标签: c++ string c++11

  

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

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

2 个答案:

答案 0 :(得分:1)

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

如果要限制行长度,则必须使用std::istream::getline()方法。

答案 1 :(得分:0)

是的,因为没有必要,因为std::getline根据需要管理字符串,以防止溢出。

此外,请记住std::string能够轻松扩大规模。