C++ STL getline()函数

getline()

C++11 <string>

函数原型

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

作用:从输入流中获取一行到字符串
is中提取字符并将其存储到str中,直到找到定界字符delim(2)中的默认定界符为' ')为止。

如果到达文件末尾或在输入操作期间发生其他错误,提取也会停止。

如果找到定界符,则将其提取并丢弃(即,不存储定界符,并且在其后将开始下一个输入操作)。

参数

is

   istream 从中提取字符的istream对象。

str

  存储行的string对象。

  丢弃string对象原先的内容,替换为新提取的行。

返回值

正常情况下返回值与参数相同istream&

对此函数的调用发生错误时可以设置为以下内部状态标志

状态标志 发生的错误
eofbit 在其操作过程中到达了字符源的末尾
failbit 无法将获得的输入解释为此类型对象的有效文本表示形式。

在这种情况下,distr会保留调用之前拥有的参数和内部数据。

请注意,某些eofbit情况也会设置故障位。
badbit 发生上述以外的错误。

举例

// 提取到 string
#include <iostream>
#include <string>

int main ()
{
  std::string name;

  std::cout << "Please, enter your full name: ";
  std::getline ( std::cin, name );
  std::cout << "Hello, " << name << "!
";

  return 0;
}

作者:Jude_Zhang
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用BY-NC-SA 许可协议。转载请注明出处!
支持博主:如果您觉得文章对您有帮助,可以点击文章下方赞一下。您的鼓励是博主的最大动力!
原文地址:https://www.cnblogs.com/judezhang/p/14306135.html