Spec-Zone.ru › Qt

Класс QIODeviceBase

Базовый класс для QIODevice, предоставляющий флаги, описывающие режим открытия устройства. Подробнее...

Заголовок: #include <QIODevice>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Наследуется от:

QDataStream, QDebug, QIODevice и QTextStream

  • Список всех членов, включая унаследованные

Открытые типы

флаги OpenMode
Перечисление OpenModeFlag { НеОткрыто, ТолькоЧтение, ТолькоЗапись, ЧтениеЗапись, Добавление, …, ТолькоСуществующее }

Подробное описание

Документация по типам членов

Перечисление QIODeviceBase::OpenModeFlagфлаги QIODeviceBase::OpenMode

Это перечисление используется с QIODevice::open() для описания режима открытия устройства. Оно также возвращается методом QIODevice::openMode().

Постоянная Значение Описание
QIODeviceBase::NotOpen 0x0000 Устройство не открыто.
QIODeviceBase::ReadOnly 0x0001 Устройство открыто для чтения.
QIODeviceBase::WriteOnly 0x0002 Устройство открыто для записи. Обратите внимание, что для подклассов файловой системы (например, QFile) этот режим подразумевает обрезку, если он не сочетается с ТолькоЧтение, Добавление или ТолькоНовое.
QIODeviceBase::ReadWrite ReadOnly | WriteOnly Устройство открыто для чтения и записи.
QIODeviceBase::Append 0x0004 Устройство открыто в режиме добавления, так что все данные записываются в конец файла.
QIODeviceBase::Truncate 0x0008 Если это возможно, устройство обрезается перед открытием. Все предыдущее содержимое устройства теряется.
QIODeviceBase::Text 0x0010 При чтении символы конца строки переводятся в '\n'. При записи символы конца строки переводятся в локальную кодировку, например, '\r\n' для Win32.
QIODeviceBase::Unbuffered 0x0020 Любой буфер в устройстве пропускается.
QIODeviceBase::NewOnly 0x0040 Ошибка, если открываемый файл уже существует. Создать и открыть файл только если он не существует. Гарантируется, что операционная система гарантирует, что вы единственный, кто создает и открывает файл. Обратите внимание, что этот режим подразумевает ТолькоЗапись, и его можно сочетать с ЧтениеЗапись. Этот флаг в настоящее время действует только для QFile. В будущем другие классы могут использовать этот флаг, но до тех пор использование этого флага с любыми классами, кроме QFile, может привести к неопределенному поведению. (с Qt 5.11)
QIODeviceBase::ExistingOnly 0x0080 Ошибка, если открываемый файл не существует. Этот флаг должен быть указан вместе с ТолькоЧтение, ТолькоЗапись или ЧтениеЗапись. Обратите внимание, что использование этого флага только с ТолькоЧтение избыточно, так как ТолькоЧтение уже не работает, если файла не существует. Этот флаг в настоящее время действует только для QFile. В будущем другие классы могут использовать этот флаг, но до тех пор использование этого флага с любыми классами, кроме QFile, может привести к неопределенному поведению. (с Qt 5.11)

Некоторые флаги, такие как Unbuffered и Truncate, бессмысленны при использовании с некоторыми подклассами. Некоторые из этих ограничений подразумеваются типом устройства, представленного подклассом. В других случаях ограничение может быть обусловлено реализацией или наложено основой платформы; например, QTcpSocket не поддерживает режим Unbuffered, а ограничения в базовом API не позволяют QFile поддерживать Unbuffered в Windows.

Тип OpenMode является typedef для QFlags<OpenModeFlag>. Он хранит логическое ИЛИ сочетание значений OpenModeFlag.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qiodevicebase.html

Spec-Zone.ru

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