c++ - QFile 既不读取也不打开我的文件

标签 c++ qt qfile

我有一个名为“sequence_30.dat”的文件,其中包含垂直表示中的 1 和 -1 序列(即:每个 1 或 -1 在单独的行中)..我正在尝试读取文件以获取使用以下代码的另一个操作:

int length = 31
QFile file("sequence_"+ (static_cast<QString>(length)) +".dat");
if(file.exists()){
  file.open(QIODevice::ReadOnly);
  if(file.isOpen()){
    ....
    ....
  }
  file.close();
}

但是在调试时,编译器会跳过“if(file.exists())”语句,当它被删除时,编译器会再次跳过“if(file.isOpen() )”语句

我非常确定路径是正确的,但如果不是,如何确保我在正确的路径中(即:是否有一种方法可以检查我从哪里读取).. 以及路径是否是更正为什么我的文件打不开?

最佳答案

static_cast<QString>(length)

应该是:

QString::number( length )

您可以通过将其打印到控制台来检查它:

cout << qPrintable( QString( "sequence_" ) +
        QString::number( length ) + ".dat" ) << endl;

关于c++ - QFile 既不读取也不打开我的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16438505/

相关文章:

c++ - 使用 static_assert 检查 Q_OBJECT 宏

c++ - Qt QFile::size() 总是返回 0

c++ - 当已在 Excel 中打开时,使用 QFile 写入文件失败,没有错误代码

c++ - Libevent aerospike 客户端::是否可以在我的事件处理机制中注册 Aerospike FD

qt - 在 QML TableView 中单击时编辑数据(如 excel)

c++ - 'sizeof' 对 QGlobal.h 中不完整类型 'QStaticAssertFailure<false>' 的无效应用

c++ - 在以读/写/追加模式打开文件后,我可以检测到文件的预先存在吗?

c++ - 使用函数作为另一个函数输入

c++ - 更正 __bridge 与 ARC 和 C++ 互操作的用法? (如何避免内存泄漏?)

c++ - 导入函数 Matlab Coder 和 C++ 可执行文件