Com*_*org 7 c unix file-descriptor system-calls stat
我正在从一本书中学习,在Unix上实现(ls)命令.在使用(-l)标志执行(ls)命令的编码部分期间,我看到我必须提示文件的用户名和组名.到目前为止,我有以下几行中的用户和组ID:
struct stat statBuf;
statBuf.st_uid; //For the user id.
statBuf.st_gid; //For the group id.
Run Code Online (Sandbox Code Playgroud)
在Unix上的默认(ls)命令中,打印文件的信息的方式是显示用户名而不是用户ID.
任何人都可以帮我找到正确的方法来从他们的ID中检索用户名和组名吗?
小智 6
检查我的用户名代码:
#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;
}
Run Code Online (Sandbox Code Playgroud)
对于组名,您可以使用 getgrgid。
| 归档时间: |
|
| 查看次数: |
12207 次 |
| 最近记录: |