在Cocoa中设置权限

时间:2012-04-18 20:35:07

标签: cocoa permissions int posix

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

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

为什么这样算? 0644是八进制数。相当于小数为420(基数为10)。如果你的意思是0644 a.k.a. 420时计算644,那么你的计算是不正确的。

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