QDir :: mkPath和权限

时间:2012-10-26 06:03:55

标签: qt permissions qdir

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

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

1 个答案:

答案 0 :(得分:1)

为了让mkdir例程创建可读目录,环境变得混乱,因为 sky 在评论中完美地指出。

然而,在调用umask()之前,您可以使用QDir::mkpath OS函数将umask设置为其他内容。你可能不得不在Windows上#ifdef,尽管我怀疑在{wnidows上qtcreator使用的mingw环境中可能已经实现了umask()函数。所以它无论如何都可能有用。