如何在C+中获取用户ID、组ID和文件权限+;? 我在过去的几个小时里一直在查找如何使用C++获取和设置文件的用户ID、组ID和文件权限、标志和其他重要信息。我已经看到了代码示例,我当前的代码在Linux上非常有效,Linux使用和
我当前的“获取用户ID”代码如下所示,我将添加#if defines以检查操作系统并使用操作系统特定的Get/set 我的问题相当广泛,但如果我能被指给某种通用图书馆来做这件事,我将非常感激。老实说,在Mac、Linux和Windows上运行的任何东西都会引起我的兴趣。我试过寻找,只找到了stat,它返回类似的东西:Owner:1465530688如何在C+中获取用户ID、组ID和文件权限+;? 我在过去的几个小时里一直在查找如何使用C++获取和设置文件的用户ID、组ID和文件权限、标志和其他重要信息。我已经看到了代码示例,我当前的代码在Linux上非常有效,Linux使用和,c++,linux,macos,permissions,uid,C++,Linux,Macos,Permissions,Uid,我当前的“获取用户ID”代码如下所示,我将添加#if defines以检查操作系统并使用操作系统特定的Get/set 我的问题相当广泛,但如果我能被指给某种通用图书馆来做这件事,我将非常感激。老实说,在Mac、Linux和Windows上运行的任何东西都会引起我的兴趣。我试过寻找,只找到了stat,它返回类似的东西:Owner:1465530688 long perms::getUID(string filename) { struct stat info; stat(filen
long perms::getUID(string filename)
{
struct stat info;
stat(filename.c_str(), &info);
printf("Owner: %ld\n", (long)info.st_uid);
return (long)info.st_uid;
}
Stat在Linux上工作。不是麦克。我在Linux上测试了上述代码,并在Mac上进行了尝试。它返回一个奇怪的值。