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())msgstr «оператор и после его удаления компилятор снова пропускает»if(file.isOpen())» заявление

Я очень уверен, что путь правильный, но если нет, как убедиться, что я нахожусь на правильном пути (то есть: есть ли способ проверить, откуда я читаю) … и если путь правильный, почему мой файл не открывается?

0

Решение

static_cast<QString>(length)

Должно быть:

QString::number( length )

Вы можете проверить это, просто распечатав это на консоли:

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

Другие решения

static_cast не работает таким образом, поэтому вместо static_cast, вы должны использовать QString :: номер преобразовать ИНТ в QString.

1

По вопросам рекламы [email protected]