scanf和cin实现的功能是从输入缓冲区读取字节,并以空格、Tab、回车作为读取的结束符号,因此如果输入串中包含空格的话就不能使用
列举几个常用的输入函数
C标准库
// C标准IO
getchar(void) //读取单个字符
gets(char *s) //读取字符串
cin
结束符:enter、tab、space
处理方法:舍弃结束符,继续下一次输入
cin.get
istream& cin.get(char& c); //读取单个字符
istream& cin.get(char *s, int n) //读取n-1个字符到s中
istream& cin.get(char*s , int n, char c) //可以指定结束符c
结束条件:读取了指定个数的字符或者遇到结束符
处理方法:结束符会保存在缓冲区中,不会被舍弃,继续下一次输入
cin.getline
和cin.get用法类似,区别在于cin.getline会舍弃结束符
getline
用来从输入流给string类对象赋值
getline(istream& cin, string str);