En esta página

QIODeviceBase Class

Clase base para QIODevice que proporciona banderas que describen el modo en que se abre un dispositivo. Más...

Cabecera: #include <QIODevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Heredado por:

QDataStream, QDebug, QIODevice, y QTextStream

Tipos Públicos

flags OpenMode
enum OpenModeFlag { NotOpen, ReadOnly, WriteOnly, ReadWrite, Append, …, ExistingOnly }

Descripción detallada

Documentación de tipos de miembros

enum QIODeviceBase::OpenModeFlag
flags QIODeviceBase::OpenMode

Este enum se utiliza con QIODevice::open() para describir el modo en el que se abre un dispositivo. También es devuelto por QIODevice::openMode().

ConstanteValorDescripción
QIODeviceBase::NotOpen0x0000El dispositivo no está abierto.
QIODeviceBase::ReadOnly0x0001El dispositivo está abierto para lectura.
QIODeviceBase::WriteOnly0x0002El dispositivo está abierto para escritura. Tenga en cuenta que, para las subclases del sistema de archivos (por ejemplo, QFile), este modo implica Truncar a menos que se combine con SóloLectura, SóloAnexo o SóloNuevo.
QIODeviceBase::ReadWriteReadOnly | WriteOnlyEl dispositivo está abierto para lectura y escritura.
QIODeviceBase::Append0x0004El dispositivo se abre en modo append para que todos los datos se escriban al final del archivo.
QIODeviceBase::Truncate0x0008Si es posible, el dispositivo se trunca antes de abrirse. Todo el contenido anterior del dispositivo se pierde.
QIODeviceBase::Text0x0010Al leer, los terminadores de final de línea se convierten a '\n'. Al escribir, los terminadores de línea se convierten a la codificación local, por ejemplo '\r\n ' para Win32.
QIODeviceBase::Unbuffered0x0020Se omite cualquier búfer del dispositivo.
QIODeviceBase::NewOnly0x0040Falla si el archivo a abrir ya existe. Crear y abrir el archivo sólo si no existe. El sistema operativo garantiza que usted es el único que crea y abre el archivo. Tenga en cuenta que este modo implica WriteOnly, y se permite combinarlo con ReadWrite. Esta bandera actualmente sólo afecta a QFile. Otras clases podrían usar esta bandera en el futuro, pero hasta entonces usar esta bandera con cualquier clase que no sea QFile puede resultar en un comportamiento indefinido. (desde Qt 5.11)
QIODeviceBase::ExistingOnly0x0080Falla si el archivo a abrir no existe. Este indicador debe especificarse junto con ReadOnly, WriteOnly o ReadWrite. Tenga en cuenta que utilizar esta opción sólo con ReadOnly es redundante, ya que ReadOnly ya falla cuando el archivo no existe. Actualmente, esta opción sólo afecta a QFile. Otras clases podrían utilizar esta bandera en el futuro, pero hasta entonces el uso de esta bandera con cualquier clase que no sea QFile puede dar lugar a un comportamiento indefinido. (desde Qt 5.11)

Algunas banderas, como Unbuffered y Truncate, no tienen sentido cuando se usan con algunas subclases. Algunas de estas restricciones están implícitas en el tipo de dispositivo representado por una subclase. En otros casos, la restricción puede deberse a la implementación, o puede venir impuesta por la plataforma subyacente; por ejemplo, QTcpSocket no admite el modo Unbuffered, y las limitaciones de la API nativa impiden que QFile admita Unbuffered en Windows.

El tipo OpenMode es un typedef para QFlags<OpenModeFlag>. Almacena una combinación OR de valores OpenModeFlag.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.