I am implementing the (ls) command on Unix while learning from a book. During the coding part of my implementation of the (ls) command with
check my code for username:
#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;
}
for groupname you can use getgrgid.
You use getpwuid to look up the password file entry for a particular UID (which includes the user name, but now not the password itself) and getgrgid to look up the group file entry for a particular GID.