输入原理:
程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。
cin >>:
功能:从键盘获取char字符串或者string类型字符串
输入结束条件:默认Enter键(因此可接受空格,Tab键)
可读取字符:忽略到空格,Tab,忽略缓冲区中的换行符
输入完毕会将换行符缓冲入键盘输入缓冲区;
cin.get():
功能:从键盘获取单个字符;
输入结束条件:默认Enter键
可以读取space,Tab键和换行符;
输入完毕缓冲换行符;
cin.getline(name,size):
功能:从键盘获取char字符串;
输入结束条件:默认Enter键
会读取space,Tab键;
不读取换行符;
输入完后丢弃换行符;
getline(cin,name):
功能:从键盘获取string类型字符串;
输入结束条件:默认Enter键
会读取space,Tab键;
不读取换行符;
输入完后丢弃换行符;