C++标准输入/输出

以前所用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上。从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件。程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++的输入与输出包括以下3方面的内容:

   1、对系统指定的标准设备的输入和输出。简称标准I/O。(设备)
   2、以外存磁盘(或光盘)文件为对象进行输入和输出。简称文件I/0。(文件)
   3、对内存中指定的空间进行输入和输出。简称串I/O。(内存)
C++流:信息从外部设备(如键盘和磁盘)向计算机内部(即内存)输入和从内存向外部输出设备(如显示器和磁盘)输出的过程。
C++不仅定义有现成的I/O类库供用户使用,而且还为用户进行标准I/O操作定义了四个类对象,它们分别是cin、cout、cerr和clog。

cin 标准输入流——其标准输入设备是键盘

cout 标准输出流——其标准输出设备是显示器

cerr 标准错误流(不带缓冲区)——它是一种输出流,由于不带缓冲区,直接输出到显示器

clog 标准错误流(带缓冲区)——它是一种输出流,由于带缓冲区,先把要输出的内容放到缓冲区,直到缓冲区满或遇到换行                                  endl才输出到显示器

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

  ios是抽象基类,由它派生出istream类和ostream类,两个类名中第1个字母i和。分 别代表输入(mput)和输出(output)。istream类支持输入操作,ostream类支持输出操作, iostream类支持输入输出操作。iostream类是从istream类和ostream类通过多重继承而派生的类。

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

由抽象基类ios直接派生出4个派生类,即istream,ostream,fstreambase和strstreambase。其中fstreambase是文件流类基类,由它再派生出ifstream,ofstream和fstream。strstreambase是字符串流类基类,由它再派生出lstrstream,ostrsCeam和swsWeam类。
   I/0类库中还有其他一些类,但是对于一般用户来说,以上这些已能满足需要了。如果想深入了解类库的内容和使用,可参阅所用的C++系统的类库手册。在本章将陆续介绍有关的类。

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

  1. iostream 包含了对(标准)输入输出流进行操作所需的基本信息。
  2. fstream 用于用户管理的文件的I/0操作。
  3. sbsbeam 用于字符串流I/0。
  4. stdiostream 用于混合使用C和C++的I/0机制时,例如想将C程序转变为C++程序。
  5. iomamp 在使用格式化I/0时应包含此头文件。


3、在iostream头文件中定义的流对象
  在iostream头文件中定义的类有:ios,istream,ostream,iostream,istream_withassign,stream_withassign,iostream_withassign等。
   iostream包含了对输入输出流进行操作所需的基本信息。因此大多数C++程序都包括iostream。在iostream头文件中不仅定义了有关的类,还定义了4种流对象,

   cin是istream的派生类istream_withassign的对象,它是从标准输入设备(键盘)输入到内存的数据流,称为cin流或标准输入流。cout是ostream的派生类ostream_withassign的对象,它是从内存输入到标准输出设备(显示器)的数据流,称为cout流或标准输出流。cerr和clog作用相似,均为向输出设备(显示器)输出出错信息。因此用键盘输入时用cin流,向显示器输出时用cout流。向显示器输出出错信息时用cerr和clog流。
4.在iostream头文件中重载运算符

   “<<”和“>>”本来在C++中是被定义为左位移运算符和右位移运算符的,由于在iostream头文件中对它们进行了重载,使它们能用作标准类型数据的输入和输出运算符。所以,在用它们的程序中必须用#include命令把ostream包含到程序中。

[cpp] view plain  #include<iostream>  

在istream和ostream类(这两个类都是在头文件iostream中声明的)中分别有一组成员函数对位移运算符“<<”和“>>”进行重载,以便能用它输入或输出各种标准数据类型的数据。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值