总结一下以下几个输入函数的用法:
- cin
- cin.get()
- cin.getline()
- getline()
- gets()
cin >>
最基本的用法,遇到空格、Tab键、回车都会结束
案例一:输入数字
1 |
|
输入:1 [空格] 2
输入:1 [Tab键] 2
输入:1 [回车] 2
都为以下输出:
1 | a : 1 |
案例二:输入字符串
1 |
|
输入:ab 输出:ab
输入:ab [空格] cd 输出:ab
cin.get()
用法1:cin.get(字符变量名)可以用来接收字符
1 |
|
输入:abc 输出:a
用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格
1 |
|
输入:ab[空格]cd[空格]ef 输出:ab cd ef
输入:abc[空格]def[空格]ghi 输出:abc def g(接受9个字符和1个 ‘\0’ )
用法3:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足
cin.getline()
用法1:cin.get(字符数组名,接收字符数目)
这个用法和上个 cin.get()
的第二个用法一样,都是接受两个参数,就不写了
用法2:cin.get(字符数组名,接收字符数目,结束字符)
第三个参数是结束字符,遇到这个字符就结束,不包括这个字符,当然也必须在规定的数目内
1 |
|
输入:bcdaefg 输出:bcd
第三个参数不写默认为 '\0'
,即回车,像在用法1中点一个回车程序就结束了,但是用法2中因为我们设置了结束字符为 'a'
,只要不超过6这个数量限制,点回车之后,我们还可以继续输入,当然输出中字符也会有回车
输入:[回车]bbbbbbbbb 输出:[回车]bbbb
getline()
接受一个字符串,可以接收空格并输出,需包含 #include
1 |
|
输入:aaaaa bbb dd ee 输出:aaaaa bbb dd ee
和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数
gets()
接受一个字符数组,可以接收空格并输出
感觉和上一个 getline()
差不多,但是上面那个需要包含 #include
,这个不需要
并且上面那个是针对字符串的,这个是针对字符数组的
1 |
|
输入:abc def 输出:abc def