Input/output library

来自cppreference.com
< cpp
 
 
输入/输出库
I / O操纵
C-风格的I / O
缓冲区
原文:
Buffers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(已弃用)
原文:
Streams
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
抽象
原文:
Abstractions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
文件I / O
原文:
File I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_ifstream
basic_ofstream
basic_fstream
字符串I / O
原文:
String I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istringstream
basic_ostringstream
basic_stringstream
阵列的I / O
原文:
Array I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
istrstream(已弃用)
ostrstream(已弃用)
strstream(已弃用)
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
streamoff
streamsize
fpos
Error类的接口
原文:
Error category interface
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
iostream_category(C++11)
io_errc(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
关于这幅图像

Inheritance diagram

}}
抽象
管理格式化标志和输/输出异常
(类)
管理任意流缓冲区
(类模板)
抽象原始设备
(类模板)
隐藏给定的抽象设备(std::basic_streambuf
,并提供高级的输入接口
(类模板)
隐藏给定的抽象设备(std::basic_streambuf
,并提供高级的输出接口
(类模板)
隐藏给定的抽象设备(std::basic_streambuf
,并提供高级的输入/输出接口
(类模板)
文件I/O实现
实现原始文件设备
(类模板)
实现了高级的文件流的输入操作
(类模板)
实现了高级的文件流输出操作
(类模板)
实现了高级的文件流输入/输出操作
(类模板)
字符串I/0实现
实现原始字符串设备
(类模板)
实现了高级的字符串流输入操作
(类模板)
实现了高级的字符串流输出操作
(类模板)
实现了高级的字符串流输入/输出操作
(类模板)
队列I/O实现
(已弃用)
实现原始字符数组设备
(类)
(已弃用)
实现字符数组的输入操作
(类)
(已弃用)
实现字符数组输出操作
(类)
(已弃用)
实现字符数组的输入/输出操作
(类)

[编辑] 类型定义

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

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;


预定义的标准流对象:

extern  istream  cin;   //标准输入 (stdin)
extern wistream wcin;
extern  ostream  cout;  //标准输出 (stdout)
extern wostream wcout;
extern  ostream  cerr;  //标准错误 (stderr)
extern wostream wcerr;
extern  ostream  clog;  //标准日志 (stdlog)
extern wostream wclog;

[编辑] I/O 操作

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

[编辑] 类型

以下是辅助类型的定义:

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

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

在头文件 <ios> 中定义
类型 Definition
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>

[编辑] Error类接口

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

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

(函数) [edit]

[编辑] C-风格 IO

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