1. cin,cin.get,cin.getline
cin读入数据遇到空格结束;丢弃空格符,输入回车符结束,很正常。
cin.get用来读取字符,输入回车符结束,但是不丢弃回车符和空格符。
注意:cin.get()与cin.get(char)等价,但是cin.get(char *,int) 用来读取字符串,可以接受空格符,遇到回车符结束,按照指定长度(长度减1)读取字符, 会丢弃最后的回车符。
cin.getline()与cin.get(char *,int)用法一样,唯一区别是cin.get(char *,int) 输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行。但是前者会引起cin函数的错误,后面的cin操作将不再执行。
2. scanf,getchar读取字符
scanf(“%c”,&ch)
ch=getchar()
两者都一样,接受空格符和回车符,按照变量个数来读取。
3. scanf,gets读取字符串
scanf(“%s”,str)遇到空格符和回车符一个字符串输入结束,字符串中不可以出现空格,丢弃空格符和回车符。
gets(str)遇到回车符结束,但是允许字符串中有空格,不丢弃空格符