Input/output library

来自cppreference.com
< cpp
 
 
输入/输出库
I / O操纵
C-风格的I / O
缓冲区
原文:
Buffers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
(过时)
原文:
Streams
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
抽象
原文:
Abstractions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
文件I / O
原文:
File I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
字符串I / O
原文:
String I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
阵列的I / O
原文:
Array I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
(过时)
(过时)
(过时)
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
Error类的接口
原文:
Error category interface
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
(C++11)
 

C++包括两个输入/输出库:一个现代的,基于流的I/O库和一套标准的C风格的I/O函数.

目录

[编辑] 基于流的I/O

基于数据流的输入/输出库是围绕着抽象的输入/输出设备。这些抽象设备允许同样的代码来处理面向文件,内存流或自定义的适配器设备(比如这些设备在数据传输中可以执行自定义的操作(如压缩))的输入/输出.

大部分类都是模板类,所以它们可以适用于任何基本类型。下面以最常见的基本字符类型(charwchar_t)为例展示一些类定义。这些类按照下面的层次组织:

cpp/io/ios basecpp/io/basic ioscpp/io/basic istreamcpp/io/basic ifstreamcpp/io/basic istringstreamcpp/io/basic ostreamcpp/io/basic ofstreamcpp/io/basic ostringstreamcpp/io/basic fstreamcpp/io/basic stringstreamcpp/io/basic iostreamstd-io-complete-inheritance.svg
关于这幅图像

继承图

抽象
定义于头文件 <ios>
管理格式化标签和输入/输出异常
(类)
管理任意流缓冲
(类模板)
定义于头文件 <streambuf>
抽象无修饰设备
(类模板)
定义于头文件 <ostream>
包装给定的抽象设备( std::basic_streambuf
并提供高级输出接口
(类模板)
定义于头文件 <istream>
包装给定的抽象设备( std::basic_streambuf
并提供高级输入接口
(类模板)
包装给定的抽象设备( std::basic_streambuf
并提供高级输入/输出接口
(类模板)
文件 I/O 实现
定义于头文件 <fstream>
实现无修饰文件设备
(类模板)
实现高级文件流输入操作
(类模板)
实现高级文件流输出操作
(类模板)
实现高级文件流输入/输出操作
(类模板)
字符串 I/O 实现
定义于头文件 <sstream>
实现无修饰文字符串设备
(类模板)
实现高级字符串流输入操作
(类模板)
实现高级字符串流出操作
(类模板)
实现高级字符串流输入/输出操作
(类模板)
数组 I/O 实现
定义于头文件 <strstream>
实现无修饰字符数组设备
(类)
(过时)
实现字符数组输入操作
(类)
(过时)
实现字符数组输出操作
(类)
(过时)
实现字符数组输入/输出操作
(类)

[编辑] 类型定义

常见的字符类型的类型定义,分别为:

typedef basic_ios<char>                ios;
typedef basic_ios<wchar_t>            wios;
 
typedef basic_streambuf<char>     streambuf;
typedef basic_streambuf<wchar_t> wstreambuf;
typedef basic_filebuf<char>         filebuf;
typedef basic_filebuf<wchar_t>     wfilebuf;
typedef basic_stringbuf<char>     stringbuf;
typedef basic_stringbuf<wchar_t> wstringbuf;
 
typedef basic_istream<char>         istream;
typedef basic_istream<wchar_t>     wistream;
typedef basic_ostream<char>         ostream;
typedef basic_ostream<wchar_t>     wostream;
typedef basic_iostream<char>       iostream;
typedef basic_iostream<wchar_t>   wiostream;
 
typedef basic_ifstream<char>       ifstream;
typedef basic_ifstream<wchar_t>   wifstream;
typedef basic_ofstream<char>       ofstream;
typedef basic_ofstream<wchar_t>   wofstream;
typedef basic_fstream<char>         fstream;
typedef basic_fstream<wchar_t>     wfstream;
 
typedef basic_istringstream<char>     istringstream;
typedef basic_istringstream<wchar_t> wistringstream;
typedef basic_ostringstream<char>     ostringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
typedef basic_stringstream<char>       stringstream;
typedef basic_stringstream<wchar_t>   wstringstream;

[编辑] 预定义标准流对象

定义于头文件 <iostream>
从标准 C 输入流 stdin 读取
(全局对象) [编辑]
写入标准 C 输出流 stdout
(全局对象) [编辑]
写入标准 C 错误流 stderr ,无缓冲
(全局对象) [编辑]
写入标准 C 错误流 stderr
(全局对象) [编辑]

[编辑] I/O 操作

基于流的I/O库使用I/O操作(例如std::boolalphastd::hex等)来控制流的行为.

[编辑] 类型

以下是辅助类型的定义:

定义于头文件 <ios>
表示相对文件/流的位置(偏离fpos),足以代表任何文件的大小
(typedef)
表示一个I/O操作中所传输的字符数,或I/O缓冲器的大小
(typedef)
在流或文件中的绝对位置
(类模板)

std::fpos 提供了4种特殊类型:

定义于头文件 <ios>
类型 定义
streampos std::fpos<std::char_traits<char>::state_type>
u16streampos std::fpos<std::char_traits<char16_t>::state_type>
u32streampos std::fpos<std::char_traits<char32_t>::state_type>
wstreampos std::fpos<std::char_traits<wchar_t>::state_type>

[编辑] 错误类别接口

定义于头文件 <ios>
(C++11)
IO流的错误代码
原文:
the IO stream error codes
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(枚举) [编辑]
标识的iostream类错误
原文:
identifies the iostream error category
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [编辑]

[编辑] C-风格 IO

C++还包括C,如std::fopenstd::getc等.