Простая программа чтения из текстового файла Qt не компилируется

0

В основном я сделал простую программу для чтения строки текста, но всякий раз, когда я запускаю программу, я получаю ошибку

no match for 'operator>>' (operand types are 'QFile' and 'QString')
while(file >> name >> month >> day >> year >> subject >> level >> apages >> total >> one >> two >> three >> four >> five >> six >> seven >> eight >> nine >> ten)

и еще одна ошибка:

expected unqualified-id before '<<' token
         QDebug << QString(name);

Я пытался найти что-то в сети в течение часа, но я действительно не мог найти ничего, что сработало или что я мог понять. Я был бы очень признателен за любые материалы, которые могут быть предоставлены.

соответствующий код:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtCore/QCoreApplication>
#include <QtCore>
#include <QFile>
#
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QString name, month,  subject, level;
    int day, year, apages, total, one, two, three, four, five, six, seven, eight, nine, ten;

    QFile file("C:/Users/brandan/Desktop/GUIPrograms/Kumon.txt");
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
        return;

    while(file >> name >> month >> day >> year >> subject >> level >> apages >> total >> one >> two >> three >> four >> five >> six >> seven >> eight >> nine >> ten)
    {
        QDebug << name << month << day << year << subject << level << apages << total << one << two << three << four << five << six << seven << eight << nine << ten;
    }

}
Теги:
qt

2 ответа

0
Лучший ответ

Из информации API QFile кажется, что вы должны использовать, например, объект QTextStream для использования операторов << и >>. Что касается ошибки отладки: QDebug - это имя класса, а не экземпляр в памяти. На странице QDebug кажется, что вы можете использовать qDebug().

  • 0
    Хорошо, не могли бы вы также привести пример
  • 0
    @ user3183403: совет № 1: Синие тексты являются гиперссылками, при нажатии на них откроется новая страница в вашем веб-браузере. Совет № 2: люди из QT услужливо включили образцы в свою онлайн-справку.
0

QDebug - это тип, вам нужно использовать экземпляр QDebug который извлекается из функции qDebug():

qDebug() << a << b << c;
^^^^^^^^

Ещё вопросы

Сообщество Overcoder
Наверх
Меню