QDir *folder = new QDir;
//判断创建文件夹是否存在
bool exist = folder->exists("C:/ASYS/BCI/Import");
if(exist)
{
QMessageBox::warning(this,tr("创建文件夹"),tr("文件夹已经存在!"));
}
else //如果不存在,创建文件夹
{
//创建文件夹
bool ok = folder->mkpath("C:/ASYS/BCI/Import");
//判断是否成功
if(ok)
{
QMessageBox::warning(this,tr("创建文件夹"),tr("文件夹创建成功!"));
}
else
{
QMessageBox::warning(this,tr("创建文件夹"),tr("文件夹创建失败!"));
}
}
重要的问题是mkpath和mkdir的区别,有很多博主使用的是mkdir,如果您跟我一样需要创建一个父目录不存在的目录,请使用mkpath,否则会导致新建文件夹不成功
下面贴一下qt帮助里关于mkdir和mkdir的区别
bool QDir::mkdir(const QString &dirName) const
Creates a sub-directory called dirName.
Returns true on success; otherwise returns false.
If the directory already exists when this function is called, it will return false.
See also rmdir().
bool QDir::mkpath(const QString &dirPath) const
Creates the directory path dirPath.
The function will create all parent directories necessary to create the directory.
Returns true if successful; otherwise returns false.
If the path already exists when this function is called, it will return true.
See also rmpath().
会发现mkpath该函数将创建创建目录所需的所有父目录。
而mkdir只会在已有的目录下创建一个文件夹