1.cout<<endl;立即输出输出缓冲区的数据,并且刷新缓冲区;如果是cout<<'\n'则不会刷新缓冲区,只是会换行。
2.cerr直接输出无缓冲区;
3.clog有缓冲区;
4.cin.get(char *,n,delimiter) 只是读取n-1个字符给字符指针所在的空间,应为最后要加上'\0'字符; getchar读取不加上'\0'字符。 get一次读取一个字符,遇到结束标志,不向后移动一个字符位置。
5.getline,读取一个字符则指针向前移动,遇到结束字标志,在向后移动一个到(a);下一次getline时,则从a开始读取
- cin.eof()判断是否是文件结尾,是返回true,否则false;
7.cin.peek();返回cin流的指针所指向的字符,并赋给他的ASCII码;
8.cin.putback(ch)将字符插入到cin流指针所指的位置
9.cin.clear(),cin.sync,
#include <iostream>
using namespace std;
int main()
{
int number;
cin>>number;
cout<<"first input"<<endl;
cout<<cin.rdstate()<<endl;//查看错误状态
cin.clear(); //清理错误表示符
cout<<cin.rdstate()<<endl;//再次查看错误状态 对应0 无错误
cin.sync();//清理缓冲区内容
cin>>number;//输入正确字符
cout<<"end input!"<<endl;
cout<<"correcy input is :" << number << endl;
system("pause");
return 0;
}