Get User Details

/* Program to get the Details of the user like User's Real Name, Username and Shell */
 
#include <pwd.h>        /* getpwdid */
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
 
void user_details(void);
 
int main(void)
{
    user_details();
 
    return 0;
}
 
void user_details(void)
{
    struct passwd *passwd;           /* man getpwuid */
    passwd = getpwuid ( getuid());   /* Get the uid of the running processand use it to get a record from /etc/passwd */
 
    printf("\n The Real User Name is %s ", passwd->pw_gecos);
    printf("\n The Login Name is %s ", passwd->pw_name);
    printf("\n The Home Directory is %s", passwd->pw_dir);
    printf("\n The Login Shell is %s ", passwd->pw_shell);
    printf("\n The Passwd is %s ", getpwuid(getuid()) >pw_passwd);
    printf("\n The uid is %lu ", (unsigned long) getpwuid(getuid())->pw_uid);
    printf("\n The gid is %lu \n\n", (unsigned long) getpwuid(getuid())->pw_gid);
}