C 查找文件的所有者和组(作为字符串)
我正在尝试获取文件所有者和组的C字符串,在执行C 查找文件的所有者和组(作为字符串),c,linux,C,Linux,我正在尝试获取文件所有者和组的C字符串,在执行stat()之后,我获取了用户ID和组ID,但是如何获取名称呢?尝试使用getpwuid() 您可以使用获取组名和用户名: #include <pwd.h> #include <grp.h> /* ... */ struct group *grp; struct passwd *pwd; grp = getgrgid(gid); printf("group: %s\n", grp->gr_name); pwd =
stat()
之后,我获取了用户ID和组ID,但是如何获取名称呢?尝试使用getpwuid()
您可以使用获取组名和用户名:
#include <pwd.h>
#include <grp.h>
/* ... */
struct group *grp;
struct passwd *pwd;
grp = getgrgid(gid);
printf("group: %s\n", grp->gr_name);
pwd = getpwuid(uid);
printf("username: %s\n", pwd->pw_name);
#包括
#包括
/* ... */
结构组*grp;
结构密码*pwd;
grp=getgrgid(gid);
printf(“组:%s\n”,grp->gr\u名称);
pwd=getpwuid(uid);
printf(“用户名:%s\n”,密码->密码名称);
请注意,如果缺少相关条目,则getgrgid()
和getpwuid()
可以返回NULL
,在这种情况下,您可能只需使用sprintf()
将数字ID转换为字符串即可。