Класс QBuffer

   
На этом шаге рассмотрим класс QBuffer.

   
Класс QBuffer унаследован от класса QIODevice и представляет собой эмуляцию файлов в памяти компьютера (memory mapped files). Это позволяет записывать информацию в оперативную память и использовать объекты как обычные файлы (открывать при помощи метода open() и закрывать методом close()). При помощи методов write() и read() можно считывать и записывать блоки данных, например:

//установим код IBM 866 для вывода русских символов
QTextCodec *utfcodec = QTextCodec::codecForName("IBM 866");
QTextCodec::setCodecForLocale(utfcodec);
QByteArray arr;
QString str;
//данные сохраняются внутри объекта класса QByteArray
QBuffer buffer(&arr);
//открываем для записи
buffer.open(QIODevice::WriteOnly);
//записываем данные в buffer используя поток данных
QDataStream out(&buffer);
out << QString("Мама мыла раму!");
//закрываем buffer 
buffer.close();
//открываем для чтения
buffer.open(QIODevice::ReadOnly);
//читаем данные из buffer в QString
QDataStream in(&buffer);
in >> str;
//выводим строку на экран
qDebug() << str;

   
Результат работы приложения можно увидеть на рисунке 1.


Рис.1. Пример работы с объектом класса QBuffer

   
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий