qt 判断目录是否存在,不存在就创建
时间: 2023-12-07 20:05:53 浏览: 79
你可以使用`QDir`类来判断目录是否存在,并使用`QDir::mkpath`函数来创建目录。下面是一个简单的示例代码:
```
#include <QDir>
int main()
{
QString path = "/path/to/directory";
QDir dir(path);
if (!dir.exists()) {
if (dir.mkpath(path)) {
qDebug() << "Directory created successfully";
} else {
qDebug() << "Failed to create directory";
}
} else {
qDebug() << "Directory already exists";
}
return 0;
}
```
注意,如果你要创建的目录是多级目录,需要使用`QDir::mkpath`而不是`QDir::mkdir`函数,因为后者只能创建单级目录。
相关问题
qt c++ 判断目录不存在创建
你可以使用QDir类中的`mkpath()`方法来判断目录是否存在并创建目录。具体实现代码如下:
```
QDir dir("your/directory/path");
if(!dir.exists()){ // 判断目录是否存在
dir.mkpath("."); // 创建目录
}
```
其中,`mkpath()`方法会在目录不存在的情况下递归创建目录。如果目录已经存在,则不会做任何操作。
另外,你需要将`"your/directory/path"`替换成你想要创建的目录的路径。
qt 判断文件是否存在,不存在则创建
在Qt中,判断文件是否存在并创建文件的方法可以使用QFile类和QDir类。QFile类的exists方法可以判断文件是否存在,如果不存在则可以使用open方法创建文件。而QDir类的exists方法可以判断文件夹是否存在,如果不存在则可以使用mkdir方法创建文件夹,或者使用mkpath方法创建多级目录。下面是一个示例代码:
```
#include <QCoreApplication>
#include <QFile>
#include <QDir>
#include <QDebug>
/// 判断文件是否存在,不存在则创建该文件
bool FileExist(QString fullFileName) {
QFile file(fullFileName);
if(file.exists()) {
return true;
} else {
qDebug() << "文件不存在,创建该文件";
file.open(QIODevice::ReadWrite | QIODevice::Text);
file.close();
}
return false;
}
/// 判断文件夹是否存在,不存在则创建
bool DirExist(QString fullPath) {
QDir dir(fullPath);
if(dir.exists()) {
return true;
} else {
bool ok = dir.mkdir(fullPath);
return ok;
}
}
/// 判断文件夹是否存在,不存在则创建,可创建多级目录
bool DirExistEx(QString fullPath) {
QDir dir(fullPath);
if(dir.exists()) {
return true;
} else {
bool ok = dir.mkpath(fullPath);
return ok;
}
}
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
bool isOk = FileExist("D:/1234567.ini");
qDebug() << isOk;
isOk = DirExist("D:/1234");
qDebug() << isOk;
isOk = DirExistEx("D:/1/2/3");
qDebug() << isOk;
return a.exec();
}
```
阅读全文