我在Ubuntu 12.04 LTS和10.04 LTS平台上工作,我在使用QDir::mkPath时遇到了问题。我正在尝试使用游戏创建路径,假设是/john/play/ mkPath,然后将文件game.htm复制到/home/john/play。在复制文件之后,我将该文件的权限设置为rwxr - -r--。以便第三方应用程序可以读取文件game.htm。但目录/john、/john/play和/john/play/ game.htm是使用权限drwxr -x---创建的,因此其他应用程序和其他用户无法读取文件drwxr。
我还在一个不同的应用程序中观察到,相同的QDir::mkpath使用drwxr - xr -x创建dir。我想知道QDir::mkpath用什么权限创建目录,以及如何控制或设置权限。
发布于 2012-10-29 22:04:50
正如sky在评论中完美地指出的那样,mkdir例程创建可读目录的环境是混乱的。
但是,您可以在调用QDir::mkpath之前使用umask() OS函数将umask设置为其他值。尽管我怀疑umask()函数可能是在wnidows上的qtcreator使用的mingw环境中实现的,但您可能不得不在windows上使用它。因此,它可能无论如何都会起作用。
https://stackoverflow.com/questions/13081612
复制相似问题