关于C++中cin,cin.get(),cin.getline(),getline()笔记
C++处理字符串方式有两种,一种是来自C语言(C-style string);另一种基于string类库的方法。
C风格字符串必须以空字符(null character)结尾,空字符被写作\0
,ASCII码为0.用来标记字符串结尾。确定存储字符串所需最短数组时,要将空字符计算在内。
关于cin,cin.get(),cin.getline(),getline()
四种输入方式的区别于联系:
1.cin,cin.get(),cin.getline()
属于istream流,getline()
属于string流。
2.cin
结束条件为空白符(包括回车、空格和Tab)cin读取缓冲区内的数据遇到空白符时会结束当前的输入,舍弃掉空白符继续下一项输入,遇到联系空白符的话会全部舍弃。
3.cin.get()
有两种形式
value=cin.get()
用于单字符输入,将其ASCAII码存入变量中;
cin.get(arrayName,size)
把字符输入到char数组arrayName[]
中,允许输入最大长度为size
,遇到回车时会结束当前输入,但不会删除缓冲区内的回车。
cin.get(arrayName,size,character)
把字符输入到char数组arrayName[ ]
中,长度达到size
时结束或者遇到字符character
结束。
4.cin.getline()
cin.getline(arrayName,size,character)
与3中函数类似,但区别在于,遇到回车时会结束当前输入,但会删除缓冲区内的回车。
5. getline(cin,str)
属于string流,需要包含头文件
#include<string>
getline(cin,str)
接受字符串可以接受空格也可以输出。