我正在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-xr-x创建目录。我想了解QDir::mkpath使用什么权限创建目录以及如何控制或设置权限。
最佳答案
就像天空在注释中完美指出的那样,让mkdir例程创建可读目录的环境很混乱。
但是,您可以在调用umask()
之前使用QDir::mkpath
OS函数将umask设置为其他内容。尽管您怀疑#ifdef
函数可能已在wnidows上的qtcreator使用的mingw环境中实现,但您可能必须在Windows上对其进行umask()
编码。因此它仍然可以工作。
关于qt - QDir::mkPath和权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13081612/