我想使用以下代码为Cocoa设置文件权限:
permissions=0644;
attr = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt: permissions] forKey:NSFilePosixPermissions];
[fileManager setAttributes:attr ofItemAtPath:filename error:nil];
这很好用。但是我的'permissions'变量是我计算的整数,因此是644而不是0644,在这种情况下失败。如何将644的整数转换为0644?
感谢。
答案 0 :(得分:2)
为什么这样算? 0644是八进制数。相当于小数为420(基数为10)。如果你的意思是0644 a.k.a. 420时计算644,那么你的计算是不正确的。
如果您正在计算权限掩码,最好使用<sys/stat.h>
中定义的掩码,例如S_IRUSR
和S_IXOTH
。