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

std::basic_filebuf

性病:基本[医]菲尔布夫

Defined in header
template< class CharT, class Traits = std::char_traits<CharT> > class basic_filebuf : public std::basic_streambuf<CharT, Traits>

std::basic_filebufstd::basic_streambuf其关联字符序列为文件。输入序列和输出序列都与同一文件相关联,并且为两个操作保持一个联合文件位置。

下面流%28%29和溢出%28%29/同步%28%29执行文件和缓冲区的GET和PUT区域之间的实际I/O。何时CharT不是char,大多数实现都将多字节字符存储在文件中,而std::codecvtfacet用于执行宽/多字节字符转换。

还为公共字符类型定义了两种专门化:

在标头中定义<streambuf>

*。

类型定义

filebuf基[医]菲尔布夫<char>

Wfilebuf基[医]filebuf<wchar[医]T>

成员类型

Member typeDefinition
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type which is required to be std::fpos<Traits::state_type>
off_typeTraits::off_type

成员函数

公共成员职能

*。

%28构造函数%29构造基本[医]filebuf对象%28公共成员函数%29

运算符=%28C++11%29分配一个基本[医]filebuf对象%28公共成员函数%29

交换%28C++11%29掉期[医]filebuf对象%28公共成员函数%29

%28破坏者%29虚拟破坏基本[医]对象,如果文件打开%28虚拟公共成员函数%29,则关闭该文件。

是[医]打开相关文件是否打开%28公共成员函数%29

打开文件并将其配置为关联字符序列%28公共成员函数%29

关闭刷新PUT区域缓冲区并关闭相关文件%28公共成员函数%29

受保护成员函数

演艺界c虚拟可选地提供可从文件%28虚拟受保护成员函数%29输入的字符数。

底流虚拟读取关联文件%28虚拟受保护成员函数%29

流线虚拟从关联文件中读取,并在GET区域%28虚拟受保护成员函数%29中前进下一个指针

背向失败虚拟取消输入序列以取消字符,而不影响关联文件%28虚拟受保护成员函数%29

溢流虚拟从PUT区域%28虚拟受保护成员函数%29将字符写入关联文件

塞布夫虚拟提供用户提供的缓冲区或打开此文件非缓冲%28虚拟受保护成员函数%29。

寻的虚拟使用相对寻址%28虚拟受保护成员函数%29重新定位文件位置

求购虚拟使用绝对寻址%28虚拟受保护成员函数%29重新定位文件位置

同步虚拟从PUT区域%28虚拟受保护成员函数%29将字符写入关联文件

灌输虚拟更改关联区域设置%28虚拟受保护成员函数%29

非会员职能

std::swap(std::basic_filebuf) (C++11)specializes the std::swap algorithm (function template)

继承自性病:基本[医]流光

成员类型

Member typeDefinition
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

(destructor) virtualdestructs the basic_streambuf object (virtual public member function of std::basic_streambuf)

地区

调用imbue%28%29%28公共成员函数的STD::Basic[医]流注%29

getloc获得std::basic的关联locale%28公共成员函数的副本[医]流注%29

定位

调用setbuf%28%29%28公共成员函数std::basic[医]流注%29

可调用查找函数%28%29%28公共成员函数std::basic[医]流注%29

公共信息系统调用eokpos%28%29%28公共成员函数std::basic[医]流注%29

公共同步调用同步%28%29%28的STD:Basic公共成员函数[医]流注%29

获取面积

在[医]获取STD::Basic的GET区域%28公共成员函数中立即可用的字符数[医]流注%29

snextc将推进输入序列,然后读取一个字符,而不需要再前进std::basic的公共成员函数%28。[医]流注%29

从输入序列中读取一个字符,并提升std::basic的序列%28公共成员函数。[医]流注%29

stossc%28不推荐使用%29%28,直到C++17%29将输入序列升级,就像调用sbunpc%28%29和丢弃结果%28公共成员函数%29一样。

sgetc从输入序列中读取一个字符,而不提升std::basic的序列%28公共成员函数。[医]流注%29

sgetn调用std::basic的xsgetn%28%29%28公共成员函数。[医]流注%29

放置面积

溅射将一个字符写入PUT区域,并将std::basic的下一个指针%28公共成员函数向前推进。[医]流注%29

调用xspain%28%29%28公共成员函数std::basic[医]流注%29

倒置

sputbackc在std::basic的输入序列%28公共成员函数中放回一个字符[医]流注%29

sungetc将输入序列中的下一个指针移回std::basic的1%28公共成员函数。[医]流注%29

受保护成员函数

(constructor)constructs a basic_streambuf object (protected member function)
operator= (C++11)replaces a basic_streambuf object (protected member function)
swap (C++11)swaps two basic_streambuf objects (protected member function)

地区

灌输虚拟更改std::basic的关联locale%28虚拟受保护成员函数[医]流注%29

定位

塞布夫虚拟使用用户定义的数组替换缓冲区,如果允许,则使用std::basic的%28虚拟受保护成员函数。[医]流注%29

寻的虚拟使用std::basic的相对寻址%28虚拟保护成员函数在输入序列、输出序列或两者中重新定位下一个指针[医]流注%29

求购虚拟使用std::basic的绝对寻址%28虚拟保护成员函数在输入序列、输出序列或两者中重新定位下一个指针[医]流注%29

同步虚拟同步缓冲区与相关字符序列%28虚拟保护成员函数的STD::Basic[医]流注%29

获取面积

演艺界c虚拟获取关联输入序列中可用的字符数,如果已知为std::basic的%28虚拟受保护成员函数[医]流注%29

底流虚拟将字符从关联的输入序列读取到STD::Basic的GET区域%28虚拟保护成员函数[医]流注%29

流线虚拟将字符从关联的输入序列读取到GET区域,并提升下一个指针%28虚拟保护成员函数std::basic[医]流注%29

xsgetn虚拟从std::basic的输入序列%28虚拟受保护成员函数中读取多个字符[医]流注%29

ebackgptregptr返回指向GET区域%28受保护成员函数%29的起始、当前字符和结束的指针。

在输入序列%28受保护的成员函数%29中的下一个指针

SETG重新定位输入序列%28受保护的成员函数%29的开始、下一步和结束指针。

放置面积

xspon虚拟将多个字符写入std::basic的输出序列%28虚拟受保护成员函数[医]流注%29

溢流虚拟将字符写入std::basic的PUT区域%28虚拟受保护成员函数的关联输出序列[医]流注%29

pbasepptrepptr返回指向PUT区域%28受保护成员函数%29的起始、当前字符和结束的指针。

pbp推进输出序列%28受保护的成员函数%29的下一个指针。

SETP重新定位输出序列%28受保护的成员函数%29的开始、下一步和结束指针。

倒置

背向失败虚拟将一个字符放回输入序列,可能修改std::basic的输入序列%28虚拟受保护成员函数。[医]流注%29

© cppreference.com

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

http://en.cppreference.com/w/cpp/io/basic[医]菲尔布夫