使用cout时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数据,先把数据顺序存放在输出缓冲区中,直到该语句结束为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区。
使用cin<<时,不能把空格字符和回车换行符作为字符输入给字符变量,它们将被跳过。如果想将空格字符或回车换行符(或任何其他键盘上的字符)输入给字符变量,可以调用成员函数get等。
在组织输入流数据时,要仔细分析cin语句中变量的类型,按照相应的格式输入,否则容易出错。
(1)接收一个字符:char ch;
cin>>ch; 或cin.get(ch); 或ch=getchar();
(2)接收一个含空格的字符数组:char ch[20];
cin.get(ch,20); 或cin.getline(ch,20); 或gets(ch);
(3)接收一个含空格的字符串:string str;
getline(cin,str);
void main()
{
char ch[20];
cin>>ch;//遇到空格结束
cout<<ch;
}