首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QFile未打开

QFile未打开
EN

Stack Overflow用户
提问于 2012-03-04 21:16:14
回答 1查看 1.4K关注 0票数 0

我编写了下面的代码来从一个文件中检索数据(这个文件已经存在,而且也有权限,因为我使用的是Windows OS),并创建了一些项来在列表中显示数据片段,但是列表不会显示任何内容。更重要的是,我发现即使没有创建文件,FILE.EXISTS()函数也会返回true。为何会这样呢?

代码语言:javascript
复制
 void MainWindow::on_listWidget_itemClicked(QListWidgetItem *item)  
 {
     ui->listWidget_2->clear();
     QListWidgetItem *itm=new QListWidgetItem;
     ui->commentbutton->setEnabled(true);

     QFile files("E:/"+QString::number(ui->listWidget->currentRow())+"com.txt");

     if(files.exists())
     {
         if(!files.open(QFile::ReadOnly | QFile::Text))
         {
              QMessageBox::warning(this,"File Access!!!","The File containing data of      the Items and Comments can't be acessed",QMessageBox::Ok);
              return;
         }
         QTextStream in(&files);
         QString data(in.readLine());
         int x=0;

         QString temp;

         for(int i=0;;i++)
          {
             if(data.at(i)!='@' && data.at(i+1)!='#')
             {
                 temp[x]=data.at(i);
                 x++;
             }
             else
                 if(data.at(i)=='@' && data.at(i+1)=='#')
                 {
                     x=0;
                     i++;
                     itm->setText(temp);
                     ui->listWidget_2->addItem(itm);
                 }
             if(data.end())
                 break;
         }
         files.close();
     }

这是存储在0com.txt文件(注释文件)中的数据: NewYork@#London@#谢谢您的时间!

EN

回答 1

Stack Overflow用户

发布于 2012-03-04 22:09:09

1) 0com.txt实际存在。对于ui->listWidget中的哪个当前行号,您有一个"false“files.exists()

2) data.end()返回一个STL风格的迭代器,而您的是按索引递增的。使用

代码语言:javascript
复制
if(i>= data.size())
    break;

3)请展示"0com.txt“的内容,以便进一步调试

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9555156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档