[英]How to retrieve the user name from the user ID
我正在學習一本書的同時在Unix上實現(ls)命令。 在使用(-l)標志執行(ls)命令的編碼部分期間,我看到必須提示文件的用戶名和組名。 到目前為止,我具有以下幾行的用戶和組ID:
struct stat statBuf;
statBuf.st_uid; //For the user id.
statBuf.st_gid; //For the group id.
在Unix上的默認(ls)命令中,文件信息的打印方式是顯示用戶名而不是用戶ID。
誰能幫助我找到正確的方法來從其ID中檢索用戶名和組名?
檢查我的代碼中的用戶名:
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
string getUser(uid_t uid)
{
struct passwd *pws;
pws = getpwuid(uid);
return pws->pw_name;
}
對於組名,您可以使用getgrgid。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.