cin.getline与getline()怎么在c++中使用

  介绍

本篇文章为大家展示了cin.getline与getline()怎么在c++中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

使用c++字符数组与使用字符串对象还有另一种不同的方式,就是在处理它们时必须使用不同的函数集,例如,要读取一行输入,必须使用cin。getline而不是getline函数。这两个的名字看起来很像,但它们是两个不同的函数,不可互换。

与getline一样,cin。getline允许读取包含空格的字符串。它将继续读取,直到它读取至最大指定的字符数,或直到按下了回车键。以下是其用法示例:

<代码> cin。getline(句子,20);

getline函数使用两个用逗号分隔的参数。第一个参数是要存储字符串的数组的名称第。二个参数是数组的大小,当cin。getline语句执行时,cin读取的字符数将比该数字少一个,为null终止符留出空间。这样就不需要使用环境运输及工务局局长操作符或宽度函数。以上语句最多可读取19个字符,零终止符将自动放在数组最后一个字符的后面。

下面的程序演示了getline函数的用法,它最多可以读取80个字符:

//,却;能够program  demonstrates  cinT  s  getline 函数//,用read  a  line  of  text  into  a  c字符串。   # include  & lt; iostream>   using  namespace 性传播疾病;   int  main ()   {   const 才能int  SIZE =, 81;   char 才能;句子(大小);   cout 才能;& lt; & lt;,“Enter  a 句子:,“;   cin.getline 才能;(句子,大小);   cout 才能;& lt; & lt;,“你entered “, & lt; & lt;, sentence  & lt; & lt;, endl;   return 才能;0;   }

程序输出结果:

输入一个句子:是或不是,这是个问题。
输入,还是不做,这是个问题。

<>强补充:c++ getline()的两种用法

getline():用于读入一整行的数据。在c++中,有两种getline函数。第一种定义在头文件& lt; istream>中,是istream类的成员函数;第二种定义在头文件& lt; string>中,是普通函数。

<强>第一种:在& lt; istream>中的getline()函数有两种重载形式:

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

作用是:从istream中读取至多n个字符(包含结束标记符)保存在年代对应的数组中。即使还没读够n个字符,如果遇到delim标识符或字数达到限制,则读取终止.delim标识符会被读取,但是不会被保存进年代对应的数组中。注意,delim标识符在指定最大字符数n的时候才有效。

# include  & lt; iostream>   using  namespace 性传播疾病;      int  main ()   {   ,char 名称[256],[256]关键词;   ,cout<& lt;“Input  your 名称:,“;   ,cin.getline(名字,256);   ,cout<& lt; name<& lt; endl;   ,cout<& lt;“Input  your 关键词:,“;   256年,cin.getline(关键词& # 39;,& # 39;);   ,cout<& lt; wolds<& lt; endl;   256年,cin.getline(关键词& # 39;,& # 39;);   ,cout<& lt; wolds<& lt; endl;   ,return  0;   }

输入

凯文
你好,凯文,早上

输出

凯文
你好凯文


<强>第二种:在& lt; string>中的getline函数有四种重载形式:

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

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

是:表示一个输入流,例如cin。

str:字符串类型的引用,用来存储输入流中的流信息。

delim:字符类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到& # 39;\ n # 39;,则终止输入。

# include   # include   using  namespace 性传播疾病;   int  main () {   ,string  str;   ,getline (cin, str, & # 39;一个# 39;);   ,cout<& lt;“, string  have  gotten  is 我方表示歉意:“& lt; & lt; str<& lt; & # 39;强生# 39;& lt; & lt; endl;   ,getline (cin, str, & # 39; b # 39;);   ,cout

cin.getline与getline()怎么在c++中使用