1、cin输入字符串
接收一个字符串,遇到空格和tab键结束接收,回车键表示输入结束;此外定义a[20],则字符串长度要小于20,最后有个’\0’(否则输入超过20的连续字符串会报错)。

![]()


2、cin.get()输入字符
接收第一个字符并赋值给ch,不论第一个字符是空格、tab键抑或是回车键,以下四种不同情况输出分别是普通字符,空格符,tab键和回车符。

![]()
![]()
![]()
![]()
3、cin.get(字符数组名,接收字符数)输入字符串
cin.get()接收一行字符串包括空格和tab键(接收数量需减一,留一个位置给‘\0’),其中接收字符数一定要小于等于定义字符数组大小,不然一旦输入字符串长度大于数组大小会报错。


cin.get()不传入参数是为了吃掉输入流中的回车。(比较下面两组输入输出)

![]()

![]()
4、cin.getline()输入字符串
cin.getline()传入两个参数时与cin.get()类似

![]()
与cin.get()区别在于当cin.getline()传入第三个参数时cin.getline(a,20,’f’),接收字符串到’f’为止
![]()
![]()
5、getline()输入字符串(#include<string>)
getline(cin,字符串名字),getline()接收一个字符串,包括空格与tab键,唯一要注意的是,getline()属于string流,求字符串长度时不能用strlen(),应该用str.length()。
![]()
![]()
6、gets_s()输入字符串
gets_s(字符串名字)输入字符串可以接收空格和tab键,回车结束


7、getchar()输入字符
getchar()接收字符串的第一个字符包括(空格、tab键、换行符)

![]()
注意所有字符串的输入(包括cin.get()、cin.getline()、getline、gets_s),如果接在cin>>a输入流后,中间必须增加cin.ignore()用以吞掉换行符。
本文参考这篇文章C++ 字符串的输入的几种方法_YULIU_的博客-CSDN博客_c++字符串输入函数然后经过我自己总结而成,如有不足请多指教!!!

















