zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    六十:权限提升-MY&MS&ORA等SQL数据库提权
    五十九:权限提升-Win溢出漏洞及AT&SC&PS提权
    五十八:权限提升-网站权限后台漏洞地第三方获取
    在kaili装git与git-lfs
    机器学习中的最优化算法总结
    动态规划及意义
    对于中变量与类的使用感想
    安装awvs教程参照
    kali乱码问题
    linux与Mac互相粘贴存在障碍,可以用这个命令联系起来
  • 原文地址:https://www.cnblogs.com/phpzhou/p/5643288.html
Copyright © 2011-2022 走看看