std::basic_ofstream
性病:基本[医]流
Defined in header | | |
---|---|---|
template< class CharT, class Traits = std::char_traits<CharT> > class basic_ofstream : public std::basic_ostream<CharT, Traits> | | |
类模板basic_ofstream
在基于文件的流上实现高级输出操作。它接口了基于文件的流缓冲区%28。std::basic_filebuf
%29,高级接口为%28std::basic_ostream
29%。
的典型实现std::basic_ofstream只包含一个非派生数据成员:std::basic_filebuf<CharT, Traits>...
二次
二次
继承图
还为公共字符类型定义了两种专门化:
在标头中定义<fstream>
*。
类型定义
流基[医]流<char>
Wofstream Basic[医]流<wchar[医]T>
成员类型
Member type | Definition |
---|---|
char_type | CharT |
traits_type | Traits |
int_type | Traits::int_type |
pos_type | Traits::pos_type |
off_type | Traits::off_type |
成员函数
(constructor) | constructs the file stream (public member function) |
---|---|
(destructor) virtual | destructs the basic_ofstream and the associated buffer, closes the file (virtual public member function) |
operator= (C++11) | moves the file stream (public member function) |
swap (C++11) | swaps two file streams (public member function) |
rdbuf | returns the underlying raw file device object (public member function) |
文件操作
是[医]打开检查流是否有关联文件%28公共成员函数%29
打开文件并将其与流%28公共成员函数%29关联
关闭关联文件%28公共成员函数%29
非会员职能
std::swap(std::basic_ofstream) (C++11) | specializes the std::swap algorithm (function template) |
---|
继承自性病:基本[医]流
成员函数
格式化输入
*。
操作符<<插入格式化数据%28公共成员函数的std::basic[医]Ostream%29
未格式化输入
PUT插入STD::Basic的字符%28公共成员函数[医]Ostream%29
写入字符插入块%28公共成员函数的STD::Basic[医]Ostream%29
定位
tellp返回std::basic的输出位置指示符%28公共成员函数[医]Ostream%29
Sekp设置std::basic的输出位置指示符%28公共成员函数[医]Ostream%29
杂类
与底层存储设备%28公共成员函数同步:Basic[医]Ostream%29
成员类
sentry | implements basic logic for preparation of the stream for output operations (public member class of std::basic_ostream) |
---|
继承自性病:基本[医]IOS
成员类型
Member type | Definition |
---|---|
char_type | CharT |
traits_type | Traits |
int_type | Traits::int_type |
pos_type | Traits::pos_type |
off_type | Traits::off_type |
成员函数
状态函数
*。
如果没有发生错误,即I/O操作可用的是std::basic的%28公共成员函数。[医]IOS%29
EOF检查文件结束是否已达到std::basic的%28公共成员函数[医]IOS%29
如果发生错误,失败检查fdd::basic的公共成员函数%28[医]IOS%29
错误检查是否发生了不可恢复的错误::basic的公共成员函数%28[医]IOS%29
操作符%21检查错误是否发生了%28同义词失败%28%29%29%28公共成员函数的std::basic[医]IOS%29
操作员空隙%2A操作符bool%28直到C++11%29%28,因为C++11%29检查是否发生了错误%28同义词%21失败%28%29%29%28公共成员函数的std::Basic[医]IOS%29
rdstate返回std::basic的状态标志%28公共成员函数[医]IOS%29
setstate设置std::basic的状态标志%28公共成员函数[医]IOS%29
清除错误和标志的eof标志%28公共成员函数的STD::Basic[医]IOS%29
格式化
复制格式信息%28公共成员函数的STD::Basic[医]IOS%29
Fill管理std::basic的填充字符%28公共成员函数[医]IOS%29
杂类
异常管理STD::Basic的异常掩码%28公共成员函数[医]IOS%29
Imbue设置std::basic的locale%28公共成员函数[医]IOS%29
rdbuf管理std::basic的关联流缓冲区%28公共成员函数[医]IOS%29
TIE管理绑定流%28 STD::Basic的公共成员函数[医]IOS%29
窄缩字符%28公共成员函数的STD::Basic[医]IOS%29
拓宽字符%28公共成员函数的STD::BASIC[医]IOS%29
继承自科技促进发展:监督办[医]底座
成员函数
格式化
*。
标志管理std::IOS的格式标志%28公共成员函数[医]基数%29
SETF设置STD::IOS的特定格式标志%28公共成员函数[医]基数%29
unsetf清除std::IOS的特定格式标志%28公共成员函数[医]基数%29
精度管理浮点操作的十进制精度STD::IOS的公共成员函数%28[医]基数%29
宽度管理STD::IOS的字段宽度%28公共成员函数[医]基数%29
地区
Imbue设置STD::IOS的locale%28公共成员函数[医]基数%29
getloc返回std::IOS的当前locale%28公共成员函数[医]基数%29
内部可扩展数组
xalloc静态返回一个程序范围的唯一整数,该整数可以安全地用作pword%28%29和iword%28%29%28的索引,该索引用于std::IOS的公共静态成员函数。[医]基数%29
iword在必要时调整私有存储空间的大小,并在给定的STD::IOS的索引%28公共成员函数中访问长元素。[医]基数%29
pword在必要时调整私有存储空间的大小,并访问空存储空间。%2A在给定索引%28公共成员函数下的[医]基数%29
杂类
寄存器[医]回调注册事件回调函数%28公共成员函数的std::IOS[医]基数%29
同步[医]带着[医]斯迪奥静态设置C++和CIO库是否可互操作STD::IOS的公共静态成员函数%28[医]基数%29
成员类
错误流异常%28公共成员类STD::IOS[医]基数%29
初始化标准流对象%28公共成员类std::IOS[医]基数%29
成员类型和常量
*。
类型解释
开放模式流开放模式类型还定义了以下常量:常量解释应用程序在每次写入二进制文件之前,在二进制模式下以开放的方式打开,读取,读,写,中继,在打开时丢弃流的内容。在打开%28ty胡枝子%29常量解释应用程序之后的流结束,在每次以二进制模式以开放方式打开二进制之前,在打开以供写入中继之前寻求流的结束。当打开时,溪流在打开后立即寻觅到流的末端。
常量解释
在每次写入之前,应用程序都要到流的末尾。
二进制模式打开
开放阅读
开放写作
当打开时,trunc丢弃流的内容。
在打开后立即寻找到流的尽头。
格式标志类型还定义了以下常量:常量解释使用十进制基表示整数I/O:请参见std::dec八进制用于整数I/O:请参见std::oct十六进制对整数I/O使用十六进制基:请参阅std::十六进制字段dec奥克特六角0.用于掩蔽操作,左调整%28将填充字符添加到右侧%29:请参见std::左右调整%28向左%29添加填充字符:请参阅std::右内部调整%28将填充字符添加到内部指定点%29:参见std::内部调整字段左右内部。用于掩蔽操作使用科学符号生成浮点类型,如果与固定符号结合则使用十六进制符号:请参见std::使用固定符号生成浮点类型,或与科学结合使用十六进制符号:请参见std::固定浮动场科学。固定28%科学固定%290.用于掩蔽操作boolalpha插入和提取字母数字格式的bool类型:参见std::boolalpha显示基生成一个前缀,指示整数输出的数字基。需要货币I/O中的货币指示器:请参阅std::showbase显示点无条件地为浮点数输出生成十进制字符:请参见std::showpoint显示为非负数字输出生成一个+字符:请参阅std::showpos跳过某些输入操作前的空格:请参阅std::skipws在每次输出后刷新输出。操作:请参阅std::unitbuf大写字母,在某些输出输出操作中用大写字母替换其大写字母:请参见std::uppercase%28tydurif%29常量解释--Dec对整数I/O使用十进制基:参阅std::dec---整数I/O使用八进制基:参见std::Oct hex使用十六进制。整数I/O的基数:参见std::十六进制基场奥克特六角0.用于掩蔽操作,左调整%28将填充字符添加到右侧%29:请参见std::左右调整%28向左%29添加填充字符:请参阅std::右内部调整%28将填充字符添加到内部指定点%29:参见std::内部调整字段左右内部。用于掩蔽操作使用科学符号生成浮点类型,如果与固定符号结合则使用十六进制符号:请参见std::使用固定符号生成浮点类型,或与科学结合使用十六进制符号:请参见std::固定浮动场科学。固定28%科学固定%290.用于掩蔽操作boolalpha插入和提取字母数字格式的bool类型:参见std::boolalpha显示基生成一个前缀,指示整数输出的数字基。需要货币I/O中的货币指示器:请参阅std::showbase显示点无条件地为浮点数输出生成十进制字符:请参见std::showpoint显示为非负数字输出生成+字符:请参阅std::showpos跳过某些输入操作前的空格:在每次输出操作后,单位单位刷新输出:参见std::unitbuf大写,在某些输出输出操作中用大写字母替换某些小写字母:参见std::
常量解释
整数I/O使用十进制基数:参见std::dec
整数I/O使用八进制基:参见std::oct
十六进制对整数I/O使用十六进制基:参见std::十六进制
基场DEC奥克特六角0.用于掩蔽操作
左调整%28向右添加填充字符%29:参见std::左侧
向右调整%28将填充字符添加到左侧%29:参见std::右侧
内部调整%28将填充字符添加到内部指定点%29:参见std::
调整域左右内部。用于掩蔽操作
使用科学表示法生成浮点类型,如果与固定符号结合,则生成十六进制表示法:参见std::Science
固定使用固定符号生成浮点类型,如果与科学相结合,则生成十六进制符号:请参见std::fix。
浮场科学固定28%科学固定%290.用于掩蔽操作
字母数字格式的boolalpha插入和提取bool类型:参见std::boolalpha
Displaybase生成一个前缀,表示整数输出的数字基,需要货币I/O中的货币指示符:参见std::showbase
显示点无条件地为浮点数输出生成小数点字符:请参见std::showpoint。
Displaypos为非负数字输出生成一个+字符:参见std::howpos
在某些输入操作之前跳过前导空格:参见std::skipws
在每次输出操作后刷新输出:参见std::unitbuf
在某些输出输出操作中,用大写字母替换某些小写字母:参见std::
流类型的iostate状态也定义了以下常量:常量解释,好位,无错误坏比特,不可恢复的流错误,输入/输出操作失败,28格式或提取错误,29 eofbit相关输入序列已达到文件末尾%28tyduf%29,常量解释好位,无错误位。不可恢复的流错误失败位输入/输出操作失败%28格式或提取错误%29 eofbit相关输入序列已达到文件末尾。
常量解释
好比特没有错误
坏比特不可恢复流错误
失败位输入/输出操作失败%28格式或提取错误%29
eofbit相关联的输入序列已达到文件的末尾。
寻找方向类型还定义了以下常数:常量解释求流结束,流结束,流位置指示符的当前位置,指示符%28,胡枝子%29,常量解释,请求流结束的开头。流的末尾是流位置指示器的当前位置。
常量解释
乞求溪头
结束流的结束
流位指示器的当前位置
事件指定事件类型%28 enum%29。
事件[医]回调函数类型%28
例
二次
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::string filename = "Test.b";
{
std::ofstream ostrm(filename, std::ios::binary
double d = 3.14;
ostrm.write(reinterpret_cast<char*>(&d), sizeof d // binary output
ostrm << 123 << "abc" << '\n'; // text output
}
// read back
std::ifstream istrm(filename, std::ios::binary
double d;
istrm.read(reinterpret_cast<char*>(&d), sizeof d
int n;
std::string s;
istrm >> n >> s;
std::cout << " read back: " << d << " " << n << " " << s << '\n';
}
二次
产出:
二次
read back: 3.14 123 abc
二次
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。