Get information about the user with a given ID
#include <sys/types.h> #include <pwd.h> struct passwd* getpwuid( uid_t uid );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The getpwuid() function gets information about user uid. This function uses a static buffer that's overwritten by each call.
A pointer to an object of type struct passwd containing an entry from the group database with a matching uid, or NULL if an error occurred or the function couldn't find a matching entry.
/* * Print password info on the current user. */ #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <pwd.h> int main( void ) { struct passwd* pw; if( ( pw = getpwuid( getuid() ) ) == NULL ) { fprintf( stderr, "getpwuid: no password entry\n" ); return( EXIT_FAILURE ); } printf( "login name %s\n", pw->pw_name ); printf( "user id %d\n", pw->pw_uid ); printf( "group id %d\n", pw->pw_gid ); printf( "home dir %s\n", pw->pw_dir ); printf( "login shell %s\n", pw->pw_shell ); return( EXIT_SUCCESS ); }
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | No |
Thread | No |
getlogin(), getpwent(), getpwent_r(), getpwnam()