gpt4 book ai didi

c++ - QDir currentPath 和 cd() 不工作?

转载 作者:行者123 更新时间:2023-11-28 02:20:26 27 4
gpt4 key购买 nike

我目前正在尝试创建一个新目录并在此目录中创建一个新文件。但是,QDir 识别出该文件存在,但是当我尝试 cd 到我的新目录时,currentPath 在 QDir().cd(dirName)

前后返回相同的值
QDir().cdUp();
if(!QDir(dirName).exists())
QDir().mkdir(dirName);
qDebug() << QDir().currentPath(); // returns a path up from exe dir
if(QDir().cd(dirName))
qDebug() << QDir().currentPath(); //returns the same path as above

真的不确定为什么这行不通,我对编程还很陌生,想知道为什么会这样。

最佳答案

QDir().cd(dirName)

每次执行 QDir() 时,您都会创建对象的新实例,然后对其执行操作(即 .cd(dirName) ),最后该对象超出范围并被销毁;从而丢失所有更改。

相反,您应该创建一个实例并对其执行所有操作。

QDir dir;
dir.cd(dirName);
dir.path();

关于c++ - QDir currentPath 和 cd() 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32725969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com