对标准 输入输出流来说,在输入设备如键盘和程序之间会有一个输入缓冲区(一块内存空间),键盘的输入是输入到缓冲区中,程序从缓冲区中读取输入的数据,与之相同在程序和输出设备如显示器之间也有输出缓冲区,程序输出到输出缓冲区,输出设备再从输出缓冲区中读取数据。
几个有关的函数:
1.cin.get()
一次从缓冲区读取一个字符
2.cin.get(一个参数)
读一个字符
3.cin.get(两个参数)
可以读字符或者字符串,如cin.get(buf,256)可以读取一个字符串
4.cin.getline()
读取一行,读到换行之前,所以不会把换行符读进去
5.cin.ignore()
忽略缓冲区的一个或多个数据(cin.ignore(5)表示忽略5个,cin.ignore(5,‘\n’)表示如果5个还没到就找到了’\n’就忽略’\n’之前的)
如:
//输入的如果是abcd的话,在第一次会打印出‘a’,在第二次会打印出‘c’
char ch;
ch = cin.get();
cout<<ch<<endl;
cin.ignore();
ch = cin.get();
cout<<ch<<endl;
6.cin.peek()
查看一下缓冲区的第一个数据,但不取数据
7.cin.putback()
将取出的数据放回缓冲区原来的位置
8.cout.flush()
刷新缓冲区
9.cout.put()
向缓冲区写字符,支持链式编程
10.cout.write()
向缓冲区写入字符串