c++的输入和输出流

Posted 一往无前

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++的输入和输出流相关的知识,希望对你有一定的参考价值。

C++编译系统提供了用于输入输出的iostream类库。iostream这个单词是由3个部 分组成的,即i-o-stream,意为输入输出流。在iostream类库中包含许多用于输入输出的 类。常用的见表

ios是抽象基类,由它派生出istream类和ostream类,两个类名中第1个字母io分别代表输入(input)和输出(output)

istream类支持输入操作,ostream类支持输出操作, iostream类支持输入输出操作。iostream类是istream类和ostream类通过多重继承而派生的类。其继承层次见上图表示。

C++对文件的输入输出需要用ifstrcamofstream类,两个类名中第1个字母io分别代表输入和输出,第2个字母f代表文件 (file)ifstream支持对文件的输入操作, ofstream支持对文件的输出操作。类ifstream继承了类istream,类ofstream继承了类ostream,类fstream继承了 类iostream。见图

 

 

I/O类库中还有其他一些类,但是对于一般用户来说,以上这些已能满足需要了。

 

iostream类库有关的头文件 

iostream类库中不同的类的声明被放在不同的头文件中,用户在自己的程序中用#include命令包含了有关的头文件就相当于在本程序中声明了所需 要用到的类。可以换 —种说法:头文件是程序与类库的接口,iostream类库的接口分别由不同的头文件来实现。常用的有

  • iostream  包含了对输入输出流进行操作所需的基本信息。
  • fstream  用于用户管理的文件的I/O操作。
  • strstream  用于字符串流I/O。
  • stdiostream  用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序。
  • iomanip  在使用格式化I/O时应包含此头文件。

iostream头文件中定义的流对象

iostream 头文件中定义的类有 iosistreamostreamiostreamistream _withassignostream_withassigniostream_withassign 等。

 

iostream头文件中不仅定义了有关的类,还定义了4种流对象,

 

对象

含义

对应设备

对应的类

c语言中相应的标准文件

cin

标准输入流

键盘

istream_withassign

stdin

cout

标准输出流

屏幕

ostream_withassign

stdout

cerr

标准错误流

屏幕

ostream_withassign

stderr

clog

标准错误流

屏幕

ostream_withassign

stderr

 

iostream头文件中定义以上4个流对象用以下的形式(以cout为例):
    ostream cout ( stdout);
在定义coutostream流类对象时,把标准输出设备stdout作为参数,这样它就与标准输出设备(显示器)联系起来,如果有
    cout <<3;
就会在显示器的屏幕上输出3

 

 

人们在输入输出时有一些特殊的要求,如在输出实数时规定字段宽度,只保留两位小数,数据向左或向右对齐等。C++提供了在输入输出流中使用的控制符(有的书中称为操纵符)

 

 

用流对象的成员函数控制输出格式

除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。用于控制输出格式的常用的成员函数如下:

 

 

流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运算符“::”。格式标志见表13.5

 

以上是关于c++的输入和输出流的主要内容,如果未能解决你的问题,请参考以下文章

C++ I/O流 (输入与输出)

c++的输入和输出流

C++笔记--输入输出流

C++ IO流

C++输入输出流(IO流)

C++输入输出流对象