我想使用以下代码为Cocoa设置文件权限:

permissions=0644;
attr = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt: permissions] forKey:NSFilePosixPermissions];
[fileManager setAttributes:attr ofItemAtPath:filename error:nil];


这很好。但是,我的“ permissions”变量是我计算的整数,因此是644而不是0644,在这种情况下会失败。如何将644转换为0644?
谢谢。

最佳答案

你为什么这样计算呢? 0644是一个八进制数字。相当于十进制420(以10为底)。如果您以0644 a.k.a. 420计算644,则您的计算不正确。

如果要计算权限掩码,最好使用在<sys/stat.h>中定义的掩码,例如S_IRUSRS_IXOTH

关于cocoa - 在 cocoa 中设置权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10217530/

10-10 06:36