QIODeviceBase Class

장치가 열리는 모드를 설명하는 플래그를 제공하는 QIODevice 의 베이스 클래스입니다. 더 보기...

헤더: #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 }

상세 설명

멤버 유형 문서

열거형 QIODeviceBase::OpenModeFlag
플래그 QIODeviceBase::OpenMode

이 열거형은 QIODevice::open()와 함께 사용되어 장치가 열리는 모드를 설명합니다. QIODevice::openMode ()에서도 반환됩니다.

상수설명
QIODeviceBase::NotOpen0x0000장치가 열려 있지 않습니다.
QIODeviceBase::ReadOnly0x0001장치가 읽기용으로 열려 있습니다.
QIODeviceBase::WriteOnly0x0002장치가 쓰기용으로 열려 있습니다. 파일 시스템 하위 클래스(예: QFile)의 경우 이 모드는 읽기 전용, 추가 또는 새 전용과 결합하지 않는 한 잘라내기를 의미합니다.
QIODeviceBase::ReadWriteReadOnly | WriteOnly장치가 읽기 및 쓰기를 위해 열려 있습니다.
QIODeviceBase::Append0x0004장치가 추가 모드로 열리면 모든 데이터가 파일 끝에 기록됩니다.
QIODeviceBase::Truncate0x0008가능하면 장치가 열리기 전에 잘립니다. 장치의 이전 내용은 모두 손실됩니다.
QIODeviceBase::Text0x0010읽을 때 줄 끝 종결자는 '\n'으로 변환됩니다. 쓰기 시 줄 끝 종결자는 로컬 인코딩으로 변환됩니다(예: Win32의 경우 '\r\n').
QIODeviceBase::Unbuffered0x0020장치의 모든 버퍼는 우회됩니다.
QIODeviceBase::NewOnly0x0040열려는 파일이 이미 존재하면 실패합니다. 파일이 존재하지 않는 경우에만 파일을 생성하고 엽니다. 운영 체제에서 파일을 생성하고 여는 유일한 사용자라는 것을 보장합니다. 이 모드는 쓰기 전용을 의미하며 읽기 쓰기와 함께 사용할 수 있습니다. 이 플래그는 현재 QFile 에만 영향을 줍니다. 향후 다른 클래스에서도 이 플래그를 사용할 수 있지만, 그때까지는 QFile 이외의 클래스에 이 플래그를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. (Qt 5.11 이후)
QIODeviceBase::ExistingOnly0x0080열려는 파일이 존재하지 않으면 실패합니다. 이 플래그는 ReadOnly, WriteOnly 또는 ReadWrite와 함께 지정해야 합니다. 파일이 존재하지 않을 때 ReadOnly는 이미 실패하므로 이 플래그를 ReadOnly와 함께 사용하는 것은 중복된다는 점에 유의하세요. 이 플래그는 현재 QFile 에만 영향을 줍니다. 향후 다른 클래스에서도 이 플래그를 사용할 수 있지만, 그때까지는 QFile 이외의 클래스에 이 플래그를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. (Qt 5.11 이후)

UnbufferedTruncate 과 같은 특정 플래그는 일부 서브 클래스와 함께 사용할 때 의미가 없습니다. 이러한 제한 중 일부는 서브 클래스로 표현되는 장치 유형에 의해 암시됩니다. 다른 경우에는 구현으로 인한 제한이거나 기본 플랫폼에 의해 부과될 수 있습니다. 예를 들어 QTcpSocketUnbuffered 모드를 지원하지 않으며, 네이티브 API의 제한으로 인해 QFile 은 Windows에서 Unbuffered 을 지원하지 못합니다.

OpenMode 유형은 QFlags<OpenModeFlag>에 대한 typedef입니다. OpenModeFlag 값의 OR 조합을 저장합니다.

© 2025 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.