在线文档教程
C++
输入/输出 | Input/output

Input/output library

输入输出库

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

基于流的I/O

基于流的输入/输出库是围绕抽象输入/输出设备组织的。这些抽象设备允许使用相同的代码来处理执行任意操作的文件、内存流或自定义适配器设备的输入/输出。压缩%29在飞行。

大多数类都是模板化的,因此它们可以适应任何基本字符类型。为最常见的基本字符类型%28提供了单独的类型charwchar_t29%。这些类被组织成以下层次结构:

二次

二次

继承图

抽象化

*。

在标头中定义<ios>

IOS[医]BASE管理格式化标志和输入/输出异常%28class%29

基本[医]IOS管理任意流缓冲区%28类模板%29

在标头中定义<streambuf>

基本[医]Streambuf提取原始设备%28类模板%29

在标头中定义<ostream>

基本[医]Ostream封装给定的抽象设备%28 std::basic[医]提供高级输出接口%28类模板%29

在标头中定义<istream>

基本[医]iStream包装给定的抽象设备%28 std::basic[医]提供高级输入接口%28类模板%29

基本[医]iostream包装给定的抽象设备%28 std::basic[医]提供高级输入/输出接口%28类模板%29

文件I/O实现

在标头中定义<fstream>

基本[医]filebuf实现原始文件设备%28类模板%29

基本[医]如果流实现高级文件流输入操作%28类模板%29

基本[医]实现高级文件流输出操作%28类模板%29

基本[医]fstream实现高级文件流输入/输出操作%28类模板%29。

字符串I/O实现

在标头中定义<sstream>

基本[医]实现原始字符串设备%28类模板%29

基本[医]实现高级字符串流输入操作%28类模板%29

基本[医]实现高级字符串流输出操作%28类模板%29

基本[医]实现高级字符串流输入/输出操作%28类模板%29

数组I/O实现

在标头中定义<strstream>

strStrebuf%28被废弃的%29实现原始字符数组设备%28class%29

实现字符数组输入操作%28 class%29

鸵鸟流%28不推荐%29实现字符数组输出操作%28class%29

strstream%28不推荐%29实现字符数组输入/输出操作%28class%29

台培

提供了下列常见字符类型的类型:

二次

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%28全局对象%29中读取

向标准C输出流stdout%28全局对象%29写入

cerrwcerr写入标准C错误流stderr,未缓冲%28全局对象%29

写入标准C错误流stderr%28全局对象%29

I/O机械手

基于流的I/O库使用I/O机械手%28等std::boolalpha,,,std::hex等%29来控制流的行为。

类型

定义了下列辅助类型:

在标头中定义<ios>

*。

流表示相对文件/流位置%28与FPO%29的偏移量,足以表示任何文件大小%28-胡枝子f%29

流大小表示在I/O操作中传输的字符数或I/O缓冲区%28-胡枝子f%29的大小

FPO表示流或文件%28类模板%29中的绝对位置。

的下列专门化std::fpos提供:

在标头中定义<ios>

*。

类型定义

Streampos STD::FPOS<std::char[医]性状<char>*国家[医]类型>

wStreamposSTD::FPOS<std::char[医]性状<wchar[医]T>::[医]类型>

错误类别接口

在标头中定义<ios>

*。

井上[医]ERRC%28C++11%29 IO流错误码%28 enum%29

碘流[医]类别%28C++11%29标识碘流错误类别%28功能%29

C型IO

C++还包括C定义的输入/输出函数,如std::fopen,,,std::getc

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io