介绍
这篇文章给大家介绍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++中使用