Spec-Zone.ru › Qt 6.1

Класс 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 является псевдонимом для QFlags<OpenModeFlag>. Он хранит логическое ИЛИ сочетание значений OpenModeFlag.

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

Spec-Zone.ru

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