首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

台培

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

二次

代码语言:javascript
复制
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

代码语言:txt
复制
 ? cppreference.com

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com