Base class for QIODevice that provides flags describing the mode in which a device is opened. 更多...
| 頭: | #include < QIODevice > |
| CMake: |
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 繼承者: | QDataStream , QDebug , QIODevice ,和 QTextStream |
| flags | OpenMode |
| enum | OpenModeFlag { NotOpen, ReadOnly, WriteOnly, ReadWrite, Append, …, ExistingOnly } |
此枚舉用於 QIODevice::open () 以描述設備被打開的模式。它也被返迴由 QIODevice::openMode ().
| 常量 | 值 | 描述 |
|---|---|---|
QIODeviceBase::NotOpen
|
0x0000
|
設備未打開。 |
QIODeviceBase::ReadOnly
|
0x0001
|
打開設備以供讀取。 |
QIODeviceBase::WriteOnly
|
0x0002
|
打開設備以供寫入。注意,對於文件係統子類 (如 QFile ),此模式隱含 Truncate (截取),除非組閤 ReadOnly (隻讀)、Append (追加) 或 NewOnly。 |
QIODeviceBase::ReadWrite
|
ReadOnly | WriteOnly
|
打開設備以供讀寫。 |
QIODeviceBase::Append
|
0x0004
|
以追加方式打開設備,以便將所有數據寫入 EOF (文件末尾)。 |
QIODeviceBase::Truncate
|
0x0008
|
若可能,會截取設備在它被打開之前。設備的所有早期內容將丟失。 |
QIODeviceBase::Text
|
0x0010
|
當讀取時,把行尾終止符轉換成 \n。當寫入時,把行尾終止符轉換成本地編碼 (例如:用於 Win32 的 \r\n)。 |
QIODeviceBase::Unbuffered
|
0x0020
|
繞過任何設備緩衝。 |
QIODeviceBase::NewOnly
|
0x0040
|
失敗若要打開的文件已存在。創建並打開文件僅當它不存在時。操作係統保證您是創建並打開文件的唯一者。注意,此模式隱含 WriteOnly,且允許與 ReadWrite 組閤。此標誌目前僅影響 QFile 。其它類將來可以使用此標誌,但在此之前,此標誌可以用於任何類除瞭 QFile 可能導緻未定義行為。(從 Qt 5.11 起) |
QIODeviceBase::ExistingOnly
|
0x0080
|
失敗若要打開的文件不存在。此標誌必須與 ReadOnly、WriteOnly 或 ReadWrite 一起指定。注意,將此標誌與 ReadOnly 一起單獨使用是多餘的,因為 ReadOnly 已失敗當文件不存在時。此標誌目前僅影響 QFile 。其它類將來可以使用此標誌,但在此之前,此標誌可以用於任何類除瞭 QFile 可能導緻未定義行為。(從 Qt 5.11 起) |
某些標誌,譬如
Unbuffered
and
Truncate
沒有意義,當用於某些子類時。其中某些限定由子類錶示的設備類型所隱含。在其它情況下,限定可能是由於實現,或可能是通過底層平颱施加;例如,
QTcpSocket
不支持
Unbuffered
模式,且局限在本機 API 以阻止
QFile
從支持
Unbuffered
在 Windows。
OpenMode 類型是 typedef 對於 QFlags <OpenModeFlag>。它存儲 OpenModeFlag 值的 OR 組閤。