2024年4月28日发(作者:)
C++
标准库之
iostream
库的学习笔记(一)
iostream
库的介绍和
istream,ostream
类以
及cin,cout对象
c语言的标准输入输出库是stdio.h是一个函数库而不是类库。
其中包括了我们最常使用的scanfprintf都是一些独立的全局函数,因为C语言是不支持类的。
c++的标准输入输出库iostream是一个类库,以类的形式组织,使用该库中的类要先引用命名空
间:usingnamespacestd;
最常使用的是cin和cout,这两个都是对象,cin是istream类的对象,cout是ostream类的对
象,而输入的cin>>与输出时的cout<<中的左移<<与右移>>分别是istream类与ostream类
的操作符重载。
iostream库里面创建了3个标准流对象:
1cin表示标准输入的istream对象,cin可以使我们从设备读取数据。
2cout表示标准输出的ostream对象,cout可以使我们向设备写入数据。
3cerr表示标准错误的ostream对象,cerr是导出程序错误消息的地方,只能向屏幕设备写数据。
标准的流对象都有默认的设备:
cout< cin>>data;cin默认的设备是键盘缓冲区。 iostream库由以下几个库组成:fstream,iomainip,ios,iosfwd,iostream,istream,ostream, sstream,streambuf,strstream。 istream用来访问操作系统的输入流,ostream访问操作系统的输出流,iostream同时继承了这两 个类。 在ostream类中,重载了许多的左移<<操作符,对每种基本数据类型都做了重载,比如 &ostreamoperator<<(ostream&temp,intsource); &ostreamoperator<<(ostream&temp,charsource); &ostreamoperator<<(ostream&temp,char*source); 由于以上重载返回的数据类型都是ostream的引用,ostream又可以作为左值,所以可以实现 cout<<"abc"< 同样在istream类中,也重载了许多右移>>操作符,对每种基本数据类型都做了重载,比如 &istreamoperator>>(istream&temp,intsource); &istreamoperator>>(istream&temp,charsource); 以上是终端标准输入输出设备的输入输出,也就是一般pc机的键盘和显示器的输入输出。 C++标准库之iostream库的学习笔记(二)fstream库以及ofstream类的使用 iostream库不仅支持终端设备的输入输出,还支持文件的输入输出,和文件有关的输入输出类声明 在fstream头文件中,有三个类负责文件的输入输出 1)ifstream类:从istream类派生。 2)ofstream类:从ostream类派生。 3)fstream类:从iostream类派生。 由于文件的输入输出和键盘鼠标的输入输出是不一样的,一般pc机只有一个键盘设备,所以 iostream库内部声明了一个istream类的对象cin,这个对象负责从键盘获取数据,而文件设备在 系统中是由许多的,所以iostream库内部无法给你为机器的每个文件都创建一个负责获取数据的 ifstream对象和负责写入数据的ofstream对象,所以我们要针对一个文件进行读取或写入数据的 时候都要自己创建一个ifstream或ostream类的对象来用。 ofstream类的默认构造函数如下: ofstream::ofstream(constchar*filename,intmode=ios::out,intopenport= filebuf::openport); filename是要打开的文件名, mode是打开的方式, openport是打开文件的属性。


发布评论