istream (输入流)类型,提供输入操作。
ostrean (输出流)类型,提供输出操作。
cin,一个istream 对象,标准输入读取数据。
cout,一个ostream对象,向标准输出写入数据。
cerr,一个ostream对象,通常用于输出程序错误信息,写入到标准错误。
>>运算符,用来从一个istream对象读取输入数据。
<<运算符,用来向一个ostream对象写入输出数据。
getline函数,从个一个给定的istream读取一行数据,存入一个给定的string 中。
IO类型间的关系:概念上,设备类型 字符大小都不会影响我们执行的IO操作。。例如,我们可以用>>读取数据,而不管是从一个控制台窗口,一个磁盘文件,还是一个string 读取。类似的,我们也不管读取的字符能存入一个char对象内,还是需要一个wchar_t对象来存储。
IO库类型和头文件
头文件 类型
iostream istream,wistream (从流读取数据);ostream,wostream(向流写入数据);iostream,wiostream(读写流);
fstream ifstream,wifstream(从文件读取数据);ostream,wofstream(向文件写入数据);fstream,wfstream(读写文件)
sstream istringstream,wistringstream从string读取数据;ostringstream,wostringstream(向string写入数据); stringstream,wstringstream读写string
为了支持使用宽字符的语言,从标准库定义了一组类型和对象来操作wchar_t类型的数据。宽字符版本的类型和函数的名字以一个w开始。例如,wcin,wcot和wcerr是分别对饮cin\cout\和cerr的宽字符按本对象。
标准库能使我们能够忽略这些不同类型流之间的差异,这是通过继承机制实现的。
简单地说,继承机制使我们可以声明一个特定的类继承自另一个类。我们通常可以将一个派生类(继承类)对象档期基类(所继承的类)对象来使用。
类型iftstream和istringstream都继承自istream.因此,我们向使用istream对象一样来使用ifstrem和istringstream对象。也就是,我们如何使用cin的,就可以同样的使用这些类型的对象。例如,可以对一个ifstream或istringstream对象调用getline.也可以使用>>从一个ifstream都继承自ostream。因此,我们是如何使用cout的,就可以同样的使用这些类型的对象。