C++输入流和输出流、缓冲区
一、C++输入流和输出流
输入和输出的概念是相对程序而言的。
键盘输入数据到程序叫标准输入,程序数据输出到显示器叫标准输出,标准输入和标准输出统称为标准I/O,文件的输入和输出叫文件I/O。
cout——标准输出流,全局流对象,输出数据到显示器
cin——标准输入流,键盘输入数据到程序
cerr——标准错误,输出数据到显示器
clog——标准日志,输出数据到显示器
//cerr没有缓冲区,clog有缓冲区
1、标准输入流
标准输入流对象cin,重点掌握的函数:
cin.get() //一次只能读取一个字符
cin.get(一个参数) //读一个字符
cin.get(三个参数) //可以读字符串
cin.getline()//读取一行数据,不读换行符
cin.ignore()//忽略当前的字符
cin.peek()//偷窥一下缓冲区,返回第一个字符
cin.putback(ch)//ch放回到缓冲区
2、标准输出流
cout.flush()//刷新缓冲区
cout.put()//向缓冲区写字符
cout.write()//二进制流的输出
cout.width()//输出格式控制
cout.fill()
cout.setf(标记)
操作符、控制符
flush
endl
oct
dec
hex
setbase
setw
setfill
setprecision
二、缓冲区
缓冲区是指用作中介的内存块,主要作用是用来提高处理输入输出的效率。原因在于像磁盘驱动器这样的设备通常是以512字节的块为单位来传输信息,而程序每次只能处理一个字节。所以通过缓冲的方法,一次从磁盘读取大量的信息存储到缓冲区,程序再从缓冲区中每次读取一个字节,因为从内存中读取一个字节的时间要远小于从磁盘读取的时间。
详情请看 黑马程序员c++讲义课件