cin.get()
该函数有三种格式:无参,一参数,二参数
即cin.get(), cin.get(char ch), cin.get(array_name, Arsize)
读取字符的情况:
输入结束条件:Enter键
对结束符处理:不丢弃缓冲区中的Enter
cin.get() 与 cin.get(char ch)用于读取字符,他们的使用是相似的 会读取空格
即:ch=cin.get() 与 cin.get(ch)是等价的。
cin.get(array_name, Arsize)是用来读取字符串的,
可以接受空格字符,遇到Enter结束输入,按照长度(Arsize)读取字符
实际可读入的字符串长度为Arsize-1
cin.getline(array_name, Arsize)
同cin.get() 实际可读入长度最大为Arsize-1
cin.getline() 与 cin.get(array_name,Arsize)的读取方式差不多,以Enter结束,可以接受空格字符。按照长度(Arsize)读取字符, 末尾’\0’。
区别:
cin.get(array_name, Arsize)当输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行,只是直接从缓冲区中取数据。但是cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。
getline() ||getline(cin,string)
cin.getline()和getline()类似,可以接受空格字符,但是cin.getline()属于istream流,而getline()属于string流
cin.getline()里的参数为数组名,不能为一个string对象,getline的参数可以为string对象