На этом шаге рассмотрим класс QTextStream.
Класс QTextStream предназначен для чтения текстовых данных. В качестве текстовых данных могут выступать не только объекты, созданные классами, унаследованными от QIODevice, но и переменные типов char, QChar, char*, QString, QByteArray, short, int, long, float и double. Пример использования объекта класса QTextStream приведен в шаге 86.
Числовые данные, передаваемые в поток, автоматически преобразуются в текст. Можно управлять форматом их преобразования, например метод QTextStream::setRealNumberPrecision() задает количество знаков после запятой. Этот класс следует использовать для считывания и записи текстовых данных в формате Unicode.
Чтобы считать текстовый файл, необходимо создать объект типа QFile и считать данные методом QTextStream::readLine(). Например:
QFile file("file.txt"); if (file.open(QIODevice::ReadOnly)) { QTextStream stream(&file); QString str; while (!stream.atEnd()) { str = stream.readLine(); qDebug() << str; } //если status() не вернул статус, указывающий на то, что //объект класса QTextStream работает нормально if (stream.status() != QTextStream::Ok) { qDebug() << "Ошибка чтения файла"; } file.close(); }
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг