qdatastream 예제

  • 0

qdatastream 예제

이진 데이터를 처리하는 방법을 보여 드리기 위해 그리기 및 갤러리라는 두 가지 예제 클래스를 사용합니다. 드로잉 클래스에는 도면에 대한 몇 가지 기본 정보(아티스트 이름, 제목 및 생성된 연도)가 있으며 갤러리 클래스에는 도면 목록이 있습니다. 데이터 스트림이 비동기 장치에서 작동하면 데이터 청크가 임의의 시점에 도달할 수 있습니다. QDataStream 클래스는 일련의 스트림 연산자로 데이터를 원자적으로 읽을 수 있는 기능을 제공하는 트랜잭션 메커니즘을 구현합니다. 예를 들어, readyRead() 신호에 연결된 슬롯에서 트랜잭션을 사용하여 소켓에서 불완전한 읽기를 처리할 수 있습니다. 응용 프로그램의 h 버전 1.3 데이터 스트림 버전 5를 사용합니다. 직렬화 및 파일 출력을 처리하는 방법에는 여러 가지가 있습니다. 이 예제에서는 Qt에 대한 설명서에 제공된 방법과 일치하는 방법론을 제공하고 이를 확장하여 다양한 오류 처리 방법을 보여 줍니다. 버전 열거형은 다양한 Qt 버전에 대한 기호 상수를 제공합니다. 예를 들어 QByteArray에 있는 모든 데이터를 보유하려면 더 많은 메모리가 필요하지만 몇 가지 이점을 제공합니다. 예를 들어 Qt의 qCompress() 함수를 사용하여 데이터를 압축할 수 있습니다(zlib 사용): 한 번에 파일을 읽거나 쓰려면 QDataStream을 사용하지 않고 대신 QFile의 writeBlock() 및 readAll() 함수를 사용할 수 있습니다.

예를 들어 QImage 클래스의 비멤버로 선언된 스트림 연산자는 다음과 같습니다. 형식. 일반적으로 매직 문자열과 버전 번호가 포함된 간단한 헤더를 작성하여 향후 확장을 위한 공간을 제공합니다. 예를 들어 컴퓨터에서 다른 컴퓨터로 데이터를 전송하려는 경우 매우 흥미롭습니다. 열려 있는 것이 성공하거나 이미 열려 있는 경우 지정된 QIODevice를 사용하여 QDataStream 어댑터가 만들어집니다. QDataStream 스트림 버전은 Qt_4_6로 설정되어 Qt 4 및 Qt 5를 지원할 수 있습니다. 이는 일부 데이터가 처리되는 방식에 영향을 미칩니다. 예를 들어 Qt_4_6 이전에는 부동 수레와 복식이 부동 수레와 복식으로 저장되었습니다. Qt_4_6 이상에서는 부동 및 복식이 기본적으로 double로 저장됩니다.

이 파일 헤더의 일부로 작성될 수 있지만 지정된 파일 형식에 대해 명시적으로 작성하는 것이 좋습니다. 데이터 스트림은 QIODevice와 긴밀하게 협력합니다. QIODevice는 데이터를 읽고 데이터를 쓸 수 있는 입력/출력 매체를 나타냅니다. QFile 클래스는 I/O 장치의 예입니다.