gpt4 book ai didi

qt - QDir::mkPath 和权限

转载 作者:行者123 更新时间:2023-12-02 03:54:59 28 4
gpt4 key购买 nike

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

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

最佳答案

让 mkdir 例程创建可读目录的环境变得一团糟,正如 sky 在评论中完美指出的那样。

但是,您可以在调用 QDir::mkpath 之前使用 umask() OS 函数将 umask 设置为其他值。尽管我怀疑 umask() 函数可能已经在 qtcreator 在 wnidows 上使用的 mingw 环境中实现,但您可能必须在 Windows 上使用 #ifdef 。所以无论如何它都可以工作。

关于qt - QDir::mkPath 和权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13081612/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com