3

我在 Ubuntu 12.04 LTS 和 10.04 LTS 平台上工作,我遇到了 QDir::mkPath 的问题。我正在尝试使用 mkPath 创建一个路径,比如说 /john/play/games,然后将文件 game.htm 复制到 /home/john/play。复制文件后,我将文件的权限设置为 rwxr - - r - -。这样 3rd 方应用程序就可以读取文件 game.htm。但是目录 /john、/john/play 和 /john/play/games 是使用权限创建的 drwxr - x - - 由于其他应用程序和其他用户无法读取文件 game.htm。

我还在另一个应用程序中观察到相同的 QDir::mkpath 使用 drwxr - xr - x 创建目录。我想了解 QDir::mkpath 使用什么权限创建目录以及如何控制或设置权限。

4

1 回答 1

1

正如天空在评论中完美指出的那样,让 mkdir 例程创建可读目录的环境搞砸了。

但是,您可以umask()在调用QDir::mkpath. #ifdef尽管我怀疑该umask()功能可能已在 wnidows 上的 qtcreator 使用的 mingw 环境中实现,但您可能不得不在 Windows 上使用它。所以它无论如何都可以工作。

于 2012-10-29T14:04:50.437 回答