• C++标准库模板(STL)-输入/输出库


    C++ 包含两个输入/输出库:现代的、基于流的 I/O 库和 C 风格 I/O 函数的标准集合。

    基于流的 I/O

    基于流的输入/输出库围绕抽象的输入/输出设备组织。这些抽象设备允许相同代码处理对文件、内存流或随即进行任意操作(例如压缩)的自定义适配器设备的输入/输出。

    大多数已经被类模板化,故它们能被适配到任何标准字符类型。为最常用的基本字符类型( char 和 wchar_t )提供分离的 typedef 。以下列层次将类组织:

    继承图

    抽象

    定义于头文件

    ios_base

    管理格式化标志和输入/输出异常
    (类)

    basic_ios

    管理任意流缓冲
    (类模板)

    定义于头文件

    basic_streambuf

    抽象原生设备
    (类模板)

    定义于头文件

    basic_ostream

    包装给定的抽象设备(std::basic_streambuf)
    并提供高层输出接口
    (类模板)

    定义于头文件

    basic_istream

    包装给定的抽象设备(std::basic_streambuf)
    并提供高层输入接口
    (类模板)

    basic_iostream

    包装给定的抽象设备(std::basic_streambuf)
    并提供高层输入/输出接口
    (类模板)

    文件 I/O 实现

    定义于头文件

    basic_filebuf

    抽象原生文件设备
    (类模板)

    basic_ifstream

    实现高层文件流输入操作
    (类模板)

    basic_ofstream

    实现高层文件流输出操作
    (类模板)

    basic_fstream

    实现高层文件流输入/输出操作
    (类模板)

    字符串 I/O 实现

    定义于头文件

    basic_stringbuf

    实现原生字符串设备
    (类模板)

    basic_istringstream

    实现高层字符串流输入操作
    (类模板)

    basic_ostringstream

    实现高层字符串流输出操作
    (类模板)

    basic_stringstream

    实现高层字符串流输入/输出操作
    (类模板)

    数组 I/O 实现

    定义于头文件

    strstreambuf

    (C++98 中弃用)

    实现原生字符数组设备
    (类)

    istrstream

    (C++98 中弃用)

    实现字符数组输入操作
    (类)

    ostrstream

    (C++98 中弃用)

    实现字符数组输出操作
    (类)

    strstream

    (C++98 中弃用)

    实现字符数组输入/输出操作
    (类)

    同步的输出

    定义于头文件

    basic_syncbuf

    (C++20)

    同步输出设备的包装
    (类模板)

    basic_osyncstream

    (C++20)

    同步输出流的包装
    (类模板)

    typedef

    提供对常用字符类型的 typedef :

    1. typedef basic_ios<char> ios;
    2. typedef basic_ios<wchar_t> wios;
    3. typedef basic_streambuf<char> streambuf;
    4. typedef basic_streambuf<wchar_t> wstreambuf;
    5. typedef basic_filebuf<char> filebuf;
    6. typedef basic_filebuf<wchar_t> wfilebuf;
    7. typedef basic_stringbuf<char> stringbuf;
    8. typedef basic_stringbuf<wchar_t> wstringbuf;
    9. typedef basic_syncbuf<char> syncbuf;
    10. typedef basic_syncbuf<wchar_t> wsyncbuf;
    11. typedef basic_istream<char> istream;
    12. typedef basic_istream<wchar_t> wistream;
    13. typedef basic_ostream<char> ostream;
    14. typedef basic_ostream<wchar_t> wostream;
    15. typedef basic_iostream<char> iostream;
    16. typedef basic_iostream<wchar_t> wiostream;
    17. typedef basic_ifstream<char> ifstream;
    18. typedef basic_ifstream<wchar_t> wifstream;
    19. typedef basic_ofstream<char> ofstream;
    20. typedef basic_ofstream<wchar_t> wofstream;
    21. typedef basic_fstream<char> fstream;
    22. typedef basic_fstream<wchar_t> wfstream;
    23. typedef basic_istringstream<char> istringstream;
    24. typedef basic_istringstream<wchar_t> wistringstream;
    25. typedef basic_ostringstream<char> ostringstream;
    26. typedef basic_ostringstream<wchar_t> wostringstream;
    27. typedef basic_stringstream<char> stringstream;
    28. typedef basic_stringstream<wchar_t> wstringstream;
    29. typedef basic_osyncstream<char> osyncstream;
    30. typedef basic_osyncstream<wchar_t> wosyncstream;

    预定义标准流对象

    定义于头文件

    cinwcin

    从标准 C 输入流 stdin 中读取
    (全局对象)

    coutwcout

    写入到标准 C 输出流 stdout
    (全局对象)

    cerrwcerr

    写入到标准 C 错误流 stderr, 无缓冲
    (全局对象)

    clogwclog

    写入到标准 C 错误流 stderr
    (全局对象)

    I/O 操纵符

    基于流的 I/O 库用 I/O 操纵符(例如 std::boolalpha 、 std::hex 等)控制流的行为。

    类型

    定义下列辅助类型:

    定义于头文件

    streamoff

    表示相对的文件/流位置(距 fpos 的偏移),足以表示任何文件大小
    (typedef)

    streamsize

    表示一次 I/O 操作中转移的字符数或 I/O 缓冲区的大小
    (typedef)

    fpos

    表示流或文件中的绝对位置
    (类模板)

    提供下列 std::fpos 的特化:

    定义于头文件

    类型定义
    streamposstd::fpos::state_type>
    wstreamposstd::fpos::state_type>

    错误类别接口

    定义于头文件

    io_errc

    (C++11)

    IO 流的错误码
    (枚举)

    iostream_category

    (C++11)

    鉴别 iostream 错误类别
    (函数)
  • 相关阅读:
    了解常用测试模型 -- V模型、W模型
    机器学习基础:随机变量及其概率分布
    【Spring boot】静态资源、首页及Thymeleaf框架
    基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(二)
    ArcGIS中的镶嵌数据集与接缝线
    两招提升硬盘存储数据的写入效率
    【牛客网面试必刷TOP101】链表篇(一)
    《可信计算技术最佳实践白皮书》发布,龙蜥助力可信计算技术应用推广(可下载)
    细说JavaScript闭包
    实用水文篇--SpringBoot整合Netty实现消息推送服务器
  • 原文地址:https://blog.csdn.net/qq_40788199/article/details/131140749