1、cin
2、cin.get
3、cin.getline
4、getline
5、gets
6、getchar
1、cin
可以接受单个字符和字符串,但遇空格,"TAB","回车"结束!!!
若不跳过空白字符,使用 noskipws 流控制。
使用方法如下:
char c;
cin >> noskipws;//设置cin读取空白符
cin >> c
2、cin.get
用法1: 接收单个字符 ch = cin.get() or cin.get(ch)
用法2 :接收一行字符串,cin.get(字符数组名,字符数)
可以接收空格,注意:末尾\n也接收在内。
3、cin.getline()
接收一个字符串,可以接收空格,和cin.get用法二类似。
4、5、6需包含头文件string
4、getline()
和cin.getline()类似,但cin.getline()属于istream流,而getline()属于string流,是不同的两个函数。
使用cin>>,getline()时,需要注意的是,在cin>>输入流完成之后,getline()之前,需要通过的方式将回车符作为输入流cin以清除缓存,如果不这样做的话,在控制台上就不会出现getline()的输入提示,而直接跳过,因为程序默认地将之前的变量作为输入流。
使用方法如下:
str="\n";
getline(cin,str);
5、gets()
c语言函数,接受一个字符串,可以接收空格,至于报错原因后续解决。
6、getchar()
接收一个字符 ch=getchar(),不能写成cin.get的形式,如:get char (ch)是不对的。
总结:
只有getchar只能接收单个字符,接收字符串(可以接收空格)最便利的是getline。
后续更多总结会补充在此,也欢迎大家指出不足与补充。