0

我试图创建一个文件夹并在其中插入一个文件或在其中创建一个文件。这是一个代码片段:

QDir dir;
QString filepath(QCoreApplication::applicationDirPath() + "/"
               + dir.mkdir("logs")+ "/" + "file.txt");

QFile* file = new QFile(filepath);
QTextStream stream;
stream.setDevice(file);

bool check = file->open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append);

if(check) {
    stream << "....text....\n";
    stream.flush();
    file->close();
}
delete file;

编译时没有任何错误,而是创建了一个没有文件的文件夹。我怎样才能做到这一点?

4

1 回答 1

0
QString filepath(QCoreApplication::applicationDirPath() + "/"
               + dir.mkdir("logs")+ "/" + "file.txt");

我怀疑这一行 dir.mkdir("logs") 将创建目录并返回 true 或 false。我不确定你的最终路径是什么。

我建议以下。

if(!dir.mkdir("logs")){
//error
return ;
}

QString filepath(QCoreApplication::applicationDirPath() + "/"
                   + "logs"+ "/" + "file.txt");
...
于 2013-08-20T06:17:56.020 回答