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开始读取

  1. 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;
}