Sur cette page

QIODeviceBase Class

Classe de base pour QIODevice qui fournit des drapeaux décrivant le mode d'ouverture d'un appareil. Plus d'informations...

En-tête : #include <QIODevice>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Héritée par :

QDataStream, QDebug, QIODevice, et QTextStream

Types publics

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

Description détaillée

Documentation des types de membres

enum QIODeviceBase::OpenModeFlag
flags QIODeviceBase::OpenMode

Cette énumération est utilisée avec QIODevice::open() pour décrire le mode d'ouverture d'un périphérique. Elle est également renvoyée par QIODevice::openMode().

ConstanteValeurDescription
QIODeviceBase::NotOpen0x0000Le périphérique n'est pas ouvert.
QIODeviceBase::ReadOnly0x0001L'appareil est ouvert en lecture.
QIODeviceBase::WriteOnly0x0002Le périphérique est ouvert en écriture. Notez que, pour les sous-classes de systèmes de fichiers (par exemple QFile), ce mode implique Truncate sauf s'il est combiné avec ReadOnly, Append ou NewOnly.
QIODeviceBase::ReadWriteReadOnly | WriteOnlyLe périphérique est ouvert en lecture et en écriture.
QIODeviceBase::Append0x0004Le périphérique est ouvert en mode Append, de sorte que toutes les données sont écrites à la fin du fichier.
QIODeviceBase::Truncate0x0008Si possible, le périphérique est tronqué avant d'être ouvert. Tous les contenus antérieurs du périphérique sont perdus.
QIODeviceBase::Text0x0010Lors de la lecture, les terminaisons de fin de ligne sont traduites en '\n'. Lors de l'écriture, les terminateurs de fin de ligne sont traduits en encodage local, par exemple '\r\n ' pour Win32.
QIODeviceBase::Unbuffered0x0020Tout tampon dans le périphérique est contourné.
QIODeviceBase::NewOnly0x0040Échec si le fichier à ouvrir existe déjà. Créer et ouvrir le fichier uniquement s'il n'existe pas. Le système d'exploitation garantit que vous êtes le seul à créer et à ouvrir le fichier. Notez que ce mode implique WriteOnly, et que la combinaison avec ReadWrite est autorisée. Cette option n'affecte actuellement que QFile. D'autres classes pourraient l'utiliser à l'avenir, mais d'ici là, l'utilisation de cet indicateur avec d'autres classes que QFile peut entraîner un comportement indéfini. (depuis Qt 5.11)
QIODeviceBase::ExistingOnly0x0080Échec si le fichier à ouvrir n'existe pas. Cet indicateur doit être spécifié en même temps que ReadOnly, WriteOnly ou ReadWrite. Notez que l'utilisation de cet indicateur avec ReadOnly seul est redondante, car ReadOnly échoue déjà lorsque le fichier n'existe pas. Cette option n'affecte actuellement que QFile. D'autres classes pourraient l'utiliser à l'avenir, mais d'ici là, l'utilisation de cet indicateur avec d'autres classes que QFile peut entraîner un comportement indéfini. (depuis Qt 5.11)

Certains drapeaux, tels que Unbuffered et Truncate, n'ont pas de sens lorsqu'ils sont utilisés avec certaines sous-classes. Certaines de ces restrictions sont impliquées par le type de périphérique représenté par une sous-classe. Dans d'autres cas, la restriction peut être due à l'implémentation ou peut être imposée par la plateforme sous-jacente ; par exemple, QTcpSocket ne prend pas en charge le mode Unbuffered, et les limitations de l'API native empêchent QFile de prendre en charge Unbuffered sous Windows.

Le type OpenMode est un typedef pour QFlags<OpenModeFlag>. Il stocke une combinaison OU de valeurs 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.