Spec-Zone.ru › C++

std::ios_base::openmode

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

См. также

open
открывает файл и настраивает его как ассоциированную последовательность символов
(публичный член-функция std::basic_filebuf<CharT,Traits>)
(конструктор)
создаёт объект basic_stringbuf
(публичный член-функция std::basic_stringbuf<CharT,Traits,Allocator>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/ios_base/openmode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API