QIODeviceBase Class
QIODevice 의 기본 클래스로, 장치가 열릴 때의 모드를 설명하는 플래그를 제공합니다. 더 보기...
| 헤더: | #include <QIODevice> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 상속된 항목: |
공개 타입
| flags | OpenMode |
| enum | OpenModeFlag { NotOpen, ReadOnly, WriteOnly, ReadWrite, Append, …, ExistingOnly } |
보호된 함수
멤버 유형 문서
enum QIODeviceBase::OpenModeFlag
flags QIODeviceBase::OpenMode
이 열거형은 QIODevice::open() 함수와 함께 사용되어 장치가 열리는 모드를 설명합니다. 또한 QIODevice::openMode() 함수에서 반환되기도 합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QIODeviceBase::NotOpen | 0x0000 | 장치가 열려 있지 않습니다. |
QIODeviceBase::ReadOnly | 0x0001 | 장치가 읽기 모드로 열려 있습니다. |
QIODeviceBase::WriteOnly | 0x0002 | 장치가 쓰기 모드로 열려 있습니다. 파일 시스템 하위 클래스(예: QFile)의 경우, 이 모드는 ReadOnly, Append 또는 NewOnly와 결합되지 않는 한 Truncate를 의미합니다. |
QIODeviceBase::ReadWrite | ReadOnly | WriteOnly | 장치가 읽기 및 쓰기 모드로 열려 있습니다. |
QIODeviceBase::Append | 0x0004 | 장치가 추가 모드로 열려 있어 모든 데이터가 파일의 끝에 기록됩니다. |
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 이나 Truncate 과 같은 특정 플래그는 일부 하위 클래스와 함께 사용할 경우 의미가 없습니다. 이러한 제한 사항 중 일부는 하위 클래스가 나타내는 장치의 유형에 의해 암시됩니다. 다른 경우에는 구현상의 이유로 제한이 발생하거나, 기본 플랫폼에 의해 제한이 부과될 수 있습니다. 예를 들어, ` QTcpSocket `는 ` Unbuffered ` 모드를 지원하지 않으며, 네이티브 API의 제한으로 인해 ` QFile `는 Windows에서 ` Unbuffered `를 지원할 수 없습니다.
OpenMode 유형은 QFlags<OpenModeFlag>에 대한 typedef입니다. 이 유형은 OpenModeFlag 값들의 OR 조합을 저장합니다.
멤버 함수 설명서
[constexpr noexcept protected default] QIODeviceBase::~QIODeviceBase()
QIODeviceBase 의 인스턴스를 삭제합니다.
© 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.