流:
1.输入时,程序从输入流中抽取字节,输出时,程序将字节插入到输出流中。
2.输入流可能来自键盘,也可能来自硬盘或者其他存储设备。同样,输入流中的字节可以流向屏幕,打印机,存储设备等等。
3.c程序只检查字节流,而不需要知道字节流来自何方。
4.缓冲区:又称缓存,是内存的一块空间
作用:更高效的处理输入输出,因为计算机对缓冲区的操作大大快于对磁盘的操作。
比如,我们使用打印机打印文档,由于打印机的打印速度相对较慢,我们先把文档输出到打印机相应的缓冲区,打印机再自行逐步打印,这时我们的CPU可以处理别的事情。
fstream:
- close()函数关闭相关的文件流。
- 如果到达相关联的输入文件的末尾,eof()函数返回true,否则返回false。
- 如果当前流发生错误fail()函数返回true ,否则返回false 。
写文件:
1)创建一个ofstream对象来管理输出流
2)将该对象与文件关联起来
3)使用cout方式使用该对象,唯一区别是输出将进入文件,而不是屏幕。
4)关闭到文件的连接
示例如下:
ofstream fout;
fout.open("test.txt");
fout<<"write something";
fout.close();
创建对象和关联文件可使用构造函数合并到一步,以上代码等价于:
ofstream fout("test.txt");
fout<<"write something";
fout.close();
读文件
1)创建一个ifstream对象来管理输入流
2)将该对象与文件关联起来
3)使用ifstream的方法读文件
4)关闭到文件的连接
示例如下:
ifstream fin("test.txt");
char ch;
fin>>ch; //从文件中读取一个字符
char buf[80];
fin>>buf; //从文件中读取一个单词
fin.getline(buf,80); //从文件中读取一行
string line;
getline(fin,line); //读取一行转换成字符串
fin.close();
exit();
关闭所有文件,并结束程序;