![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
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.
![]() |
The getpwent(), getpwnam(), and getpwuid() functions share the same static buffer. |
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(), getpwnam()
![]() |
![]() |
![]() |
![]() |