我正在使用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创建目录的权限以及如何控制或设置权限。
答案 0 :(得分:1)
为了让mkdir例程创建可读目录,环境变得混乱,因为 sky 在评论中完美地指出。
然而,在调用umask()
之前,您可以使用QDir::mkpath
OS函数将umask设置为其他内容。你可能不得不在Windows上#ifdef
,尽管我怀疑在{wnidows上qtcreator使用的mingw环境中可能已经实现了umask()
函数。所以它无论如何都可能有用。