LINUX.ORG.RU

с или с++ : получение имени пользователя.


0

0

Возникла задача. Нужно получить имя пользователя, под которым данная программа запущена. Пока вырисовывается парсинг переменных среды на предмет имени пользователя, но может есть способ лучше?

anonymous

Вроде разобрался. getenv("LOGNAME") работает. Попробую ещё getlogin_r. Спасибо, товарищи!

anonymous
()

А вообще на будущее есть чудесная команда apropos. Для твоего случая:

#apropos user | grep name

dont
()

А какое имя? Их несколько, однако...

getlogin не то, он просто вернет собственника контрольного терминала (если он есть).

Короче, сначала (в зависимости от постановки задачи)

getuid
или
geteuid
потом
getpwuid

Die-Hard ★★★★★
()
Ответ на: комментарий от anonymous

>printf(cuserid(0));

Лучше указать спецификатор вывода явно: "%s", ну и символ новой строки заодно..

php-coder ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.