Описание тега qiodevice
В QIODevice
class - это базовый интерфейсный класс всех устройств ввода-вывода в Qt.
QIODevice
предоставляет как общую реализацию, так и абстрактный интерфейс для устройств, поддерживающих чтение и запись блоков данных, таких как QFile
, QBuffer
а также QTcpSocket
. QIODevice
является абстрактным и не может быть инстанцирован, но обычно используется интерфейс, который он определяет, чтобы обеспечить независимые от устройства функции ввода-вывода. Например, классы XML Qt работают сQIODevice
указатель, позволяющий использовать их с различными устройствами (такими как файлы и буферы).
Прежде чем получить доступ к устройству, open()
должен быть вызван для установки правильного OpenMode
(Такие как ReadOnly
или ReadWrite
). Затем вы можете написать на устройство с помощьюwrite()
или putChar()
, и прочтите, позвонив либо read()
, readLine()
, или readAll()
. Вызовclose()
когда вы закончите с устройством.
QIODevice
различает два типа устройств: устройства с произвольным доступом и последовательные устройства.
- Устройства с произвольным доступом поддерживают поиск произвольных позиций с помощью
seek()
. Текущая позиция в файле доступна по вызовуpos()
.QFile
а такжеQBuffer
являются примерами устройств с произвольным доступом. - Последовательные устройства не поддерживают поиск произвольных позиций. Данные должны быть прочитаны за один проход. Функции
pos()
а такжеsize()
не работают для последовательных устройств.QTcpSocket
а такжеQProcess
являются примерами последовательных устройств.
Официальную документацию Qt можно найти здесь для Qt 4.8 и здесь для Qt 5.