Страницы

Поиск по вопросам

среда, 21 ноября 2018 г.

Как узнать свой логин

Подскажите, пожалуйста, как узнать имя пользователя, который сейчас залогинен в linux? Т.е. свой логин. Нужен аналог whoami, для использования в коде программы.


Ответ

#include
int getlogin_r(char *buf, size_t bufsize);
или классический способ:
/* whoami.c */ #define _PROGRAM_NAME "whoami" #include #include #include
int main(int argc, char *argv[]) { register struct passwd *pw; register uid_t uid; int c;
uid = geteuid (); pw = getpwuid (uid); if (pw) { puts (pw->pw_name); exit (EXIT_SUCCESS); } fprintf (stderr,"%s: cannot find username for UID %u
", _PROGRAM_NAME, (unsigned) uid); exit (EXIT_FAILURE);
}
enSO - How to get the username in C/C++ in Linux?

Комментариев нет:

Отправить комментарий