Я хотел бы использовать QFileInfo
-класса (docs) - это именно то, что это сделано для:
Класс QFileInfo предоставляет информацию от файловой системы.
QFileInfo содержит информацию об имени и позиции к файлу, (путь) в файловой системе, его права доступа и является ли он каталогом или символической ссылки, и т.д. размера файла и последним изменением/время чтения является также доступный. QFileInfo также может использоваться для получения информации о ресурсе Qt.
Это исходный код, чтобы проверить, существует ли файл:
#include <QFileInfo>
(не забудьте добавить соответствующий #include
-statement)
bool fileExists(QString path) {
QFileInfo check_file(path);
// check if file exists and if yes: Is it really a file and no directory?
if (check_file.exists() && check_file.isFile()) {
return true;
} else {
return false;
}
}
Также рассмотреть следующие вопросы: Есть ли у Вас только хотите проверить, существует ли путь (exists()
), или вы также хотите убедиться, что это файл, а не каталог (isFile()
)?
TL; DR(с более короткой версии функции выше, экономя несколько строк кода)
#include <QFileInfo>
bool fileExists(QString path) {
QFileInfo check_file(path);
// check if file exists and if yes: Is it really a file and no directory?
return check_file.exists() && check_file.isFile();
}
Я думаю @mozzbozz ниже, может иметь свой ответ - Не забудьте принять/дать очки :) – Rachael