C++中getline()的用法详解分享!

getline()用法

getline是C++标准库函数;它有两种形式,一种是头文件< istream >中输入流成员函数;一种在头文件< string >中普通函数;

它遇到以下情况发生会导致生成的本字符串结束:
(1)到文件结束,(2)遇到函数的定界符,(3)输入达到最大限度。

输入流成员函数getline()

函数语法结构:

在< istream >中的getline()函数有两种重载形式:

  istream& getline (char* s, streamsize n );  istream& getline (char* s, streamsize n, char delim );

作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组中。即使还没读够n个字符,
如果遇到delim 或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。

代码实例

  #include <iostream>     using namespace std;    int main()  {   char name[256];   cout << "Please input your name: ";   cin.getline(name, 256);   cout << "The result is:  " << name << endl;      return 0;    }    
  #include <iostream>  using namespace std;    int main( )  {    char line[100];    cout << " Type a line terminated by 't'" << endl;    cin.getline( line, 100, 't' );    cout << line << endl;        return 0;  }    

普通函数getline()

函数语法结构:

在< string >中的getline函数有四种重载形式:

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

函数的变量:

is :表示一个输入流,例如 cin。
str :string类型的引用,用来存储输入流中的流信息。
delim :char类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到’n’,则终止输入

用法和上一种类似,但是读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。
代码实例

  #include <iostream>  #include <string>  using namespace std;    int main()  {   string name;   cout << "Please input your name: ";   getline(cin, name);   cout << "Welcome to here!" << name << endl;      return 0;    }    
  #include <iostream>  #include <string>  using namespace std;    int main()  {   string name;   cout << "Please input your name: ";   getline(std::cin, name, '#');   cout << "Welcome to here!" << name << endl;      return 0;  }    

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

—-想了解C++中getline()的用法详解分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/483809.html

(0)
上一篇 2020年11月10日
下一篇 2020年11月10日

精彩推荐