命名空间
变体
操作

std::ios_base::openmode

来自 cppreference.com
< cpp‎ | io‎ | ios base
 
 
 
 
typedef /* implementation defined */ openmode;
static constexpr openmode app       = /* implementation defined */;

static constexpr openmode binary    = /* implementation defined */;
static constexpr openmode in        = /* implementation defined */;
static constexpr openmode out       = /* implementation defined */;
static constexpr openmode trunc     = /* implementation defined */;

static constexpr openmode ate       = /* implementation defined */;
static constexpr openmode noreplace = /* implementation defined */;
(自 C++23 起)

指定可用的文件打开标志。它是一个 BitmaskType,定义了以下常量

常量 解释
app 在每次写入之前,都将文件指针定位到文件末尾
binary 二进制模式 打开
in 以读模式打开
out 以写模式打开
trunc 打开时丢弃文件内容
ate 打开文件后,立即将文件指针定位到文件末尾
noreplace (C++23) 以独占模式打开

[编辑] 示例

#include <fstream>
#include <iostream>
#include <string>
 
int main()
{
    const char* fname = "unique_name.txt";
 
    // write to a temporary stream object
    std::fstream(fname, std::ios::out | std::ios::trunc) << "Hi";
 
    std::string s;
    std::fstream(fname, std::ios::in) >> s;
    std::cout << s << '\n';
}

输出

Hi

[编辑] 参见

打开一个文件,并将其配置为关联的字符序列
(std::basic_filebuf<CharT,Traits> 的公有成员函数) [编辑]
构造一个 basic_stringbuf 对象
(std::basic_stringbuf<CharT,Traits,Allocator> 的公有成员函数) [编辑]