我有一个名为“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/