Qt C++读取while while循环不初始化

问题描述:

我检查过,如果文件的位置是正确的,所以我不知道为什么我的程序不工作。我几乎一直在看它几个小时,但我仍然无法找出什么是错的。我真的很感激任何意见。Qt C++读取while while循环不初始化

文本在文本文件中:鲍勃Janurary 1 2000数学7A 5 41 7 9 8 8 9

相关的代码:

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)) { 
     QTextStream stream(&file); 
     QString line; 

     do 
     { 
     qDebug() << "test"; 
     line = stream.readLine(); 
     qDebug() << line; 
     } while(!line.isNull()); 
    } 

} 
+1

“不工作”是什么意思? – 0x499602D2

+0

QDebug不输出任何东西。 – user3183403

+2

另外,为什么你的条件'if(!file.open(...))'?你正在检查打开是否失败,然后开始执行从文件读取。相反,只要执行'if(file.open(...))'。 – 0x499602D2

如果文件与

if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { 
正确打开您正在检查

因此,只有在文件未正确打开的情况下,您的代码才会执行​​。使用

if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {