Получить информацию о пользователе по идентификатору
#include <sys/types.h>#include <pwd.h>struct passwd * getpwuid( uid_t uid );
libc
Функция getpwuid() получает информацию о пользователе uid. Эта функция использует статический буфер, который перезаписывается при каждом вызове.
Указатель на структуру struct passwd, содержащую запись из базы данных групп с совпадающим uid, или NULL
в случае возникновения ошибки или невозможности найти запись.
/** 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);}
POSIX 1003.1
struct passwd, getlogin(), getpwent(), getpwent_r(), getpwnam()
Предыдущий раздел: Описание API системной библиотеки