getline函数怎么在c++中使用

  介绍

这篇文章给大家介绍getline函数怎么在c++中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

虽然可以使用cin和祝辞祝辞运算符来输入字符串,但它可能会导致一些需要注意的问题。

当cin读取数据时,它会传递并忽略任何前导白色空格字符(空格,制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。以下面的语句为例:

cin 在祝辞,namel;

可以输入“Mark"或“Twain",但不能输入“马克Twain"因为cin不能输入包含嵌入空格的字符串。下面程序演示了这个问题:

//,却;能够program  illustrates  a  problem  that 还要occur 如果//,cin  is  used 用read  character  data  into  a  string 对象。   # include  & lt; iostream>   # include  & lt; string>,//, Header  file  needed 用use  string 对象   using  namespace 性传播疾病;   int  main ()   {   ,string 名称;   ,string 城市;   ,cout  & lt; & lt;“Please  enter  your 名称:,“;   ,,cin 的在祝辞,名称;   ,cout  & lt; & lt;“Enter 从而city 你live ,:,“,   cin 在祝辞大敌;城市;   ,cout  & lt; & lt;,,你好,,,,& lt; & lt;, name  & lt; & lt;, endl;   ,cout  & lt; & lt;“你live “拷贝,& lt; & lt;, city  & lt; & lt;, endl;   ,return  0;   }

程序输出结果:
请输入你的名字:John Doe
进入城市你住在:你好,约翰。
你住在能源部

请注意,在这个示例中,用户根本没有机会输入城城市名。因为在第一个输入语句中,当cin读取到约翰和能源部之间的空格时,它就会停止阅读,只存储约翰作为名称的值。在第二个输入语句中,cin使用键盘缓冲区中找到的剩余字符,并存储能源部作为城市的值。

为了解决这个问题,可以使用一个叫做getline的c++函数。此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。

getline函数如下所示:

getline (cin, inputLine);

其中cin是正在读取的输入流,而inputLine是接收输入字符串的字符串变量的名称。下面的程序演示了getline函数的应用:

//,却;能够program  illustrates  using 从而getline 函数//用read  character  data  into  a  string 对象。   # include  & lt; iostream>   # include  & lt; string>,//, Header  file  needed 用use  string 对象   using  namespace 性传播疾病;   int  main ()   {   ,string 名称;   ,string 城市;   ,cout  & lt; & lt;“Please  enter  your 名称:,“;   ,getline (cin,,名字);   ,cout  & lt; & lt;“Enter 从而city 你live ,:,“,   ,城市,getline (cin);   ,cout  & lt; & lt;,,你好,,,,& lt; & lt;, name  & lt; & lt;, endl;   ,cout  & lt; & lt;“你live “拷贝,& lt; & lt;, city  & lt; & lt;, endl;   ,return  0;   }

程序输出结果:
请输入你的名字:John Doe
输入你住的城市:芝加哥
你好,John Doe
你住在芝加哥

getline函数怎么在c++中使用