一. cin >>
输入数字或字符,遇到空白字符即结束
空白字符:空格(‘ ’)、换页(‘\f’)、换行(‘\n’)、回车(‘\r’)
水平制表符(‘\t’)、垂直制表符(‘\v’)
使用方法 cin>>str;
二. cin.getline()
接收一个字符串,可以接收空格
-
cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数n,结束字符)
实际能接收的字符个数为n-1,还包含了\0
-
当第三个参数省略时,系统默认为’\0’
-
cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。
使用方法 cin.getline(接收字符串的变量,接收字符个数n)
三. getline()
接收一个字符串,可以接收空格并输出,需包含“#include”
同时使用cin>>,getline()时,需要注意的是,在cin>>输入流完成之后,getline()之前,需要通过
str="\n";//其实可以省略
getline(cin,str);//用于获取缓存区的\n
的方式将回车符作为输入流cin以清除缓存,如果不这样做的话,在控制台上就不会出现getline()的 输入提示,而直接跳过,因为程序默认地将之前的变量作为输入流。
然后再加一句
getline(cin,str);//真正用于获取输入字符串