Нужно написать программу, которая выдаёт имя текущего пользователя. С помощью каких функций, переменных это делать? В каких заголовочных файлах они находятся?
Ни в коем случае не getenv!! Это любой пользователь сделает export USER=root и (например, если Ваша программа запускается с установленным suid) обманет программу. В то время как getlogin выдаст правильный результат
Да елки-палки. Сказано ведь уже: ни одна нормальная программа USER не использует, whoami (не путать с who am i) читает /etc/passwd. точнее использует пару вызовов getpwuid(geteuid()). А "who am i" (или "who is idiot", что на Вашем компьютере даст тот же самый результат - проверьте, если не верите) читает /var/log/wtmp.с помощью getutxent