0

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

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

这工作正常。但是,我的“权限”变量是我计算的整数,因此是 644 而不是 0644,在这种情况下会失败。如何将整数 644 转换为 0644 ?

谢谢。

4

1 回答 1

2

为什么要这样计算?0644 是一个八进制数。它相当于十进制的 420(以 10 为底)。如果您的意思是 0644 又名 420 时计算了 644,那么您的计算是不正确的。

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

于 2012-04-19T00:06:23.297 回答