1、scanf
scanf("%s", a);//忽略换行符和空格
scanf("%c", &a);//识别换行符和空格
scanf("%d", &a);//忽略换行符和空格
%s, %d是以'/n'当做输入的结束
程序示例:
#include <iostream>
int main()
{
int a;
char b[20];
scanf("%d", &a);
scanf("%s", b);
printf("%d/n", a);
printf("%s", b);
return 0;
}
int main()
{
int a;
char b;
scanf("%d", &a);
scanf("%c", &b);
printf("%d/n", a);
printf("%c", b);
return 0;
}
try to input"
80
abcd"
and see the different result.
2、cin
读取char值时,与读取其他基本类型一样,cin将忽略空格和换行符。(这也是scanf , cin之间的差异)
发送给cin的输入被缓冲。这意味着只有在用户按下回车键后,他输入的内容才会被发送给程序。
cin.get(char)/cin.get()/cin.get(name, ArSize);能识别换行符和空格
补充:
文件尾条件
char ch;
cin.get(ch);
while(cin.fail() == false)/ while (cin.get(ch))/ while((ch = cin.get())!= EOF)
//test for EOF
{
cout << ch;
++count;
cin.get(ch);
}