Próbuję pobrać UID oraz GID aktualnego użytkownika w systemie i przerobić go na int, jednakże wychodzą mi jakieś kosmiczne liczby. Próbowałem czegoś takiego:
Kod: Zaznacz cały
#include <pwd.h>
struct passwd *pd;
pd->pw_uid;
Kod: Zaznacz cały
#include <pwd.h>
struct passwd *pd;
pd->pw_uid;
Kod: Zaznacz cały
man getuid
man getgid
Kod: Zaznacz cały
#include <pwd.h>
struct passwd *pd;
pd->pw_uid;
Kod: Zaznacz cały
#include <stdio.h>
#include <pwd.h>
int
main(int argc, char **argv)
{
struct passwd *p;
while ((p = getpwent()) != NULL)
printf("%s:%s:%ld:%ld:%s:%s:%s\n",
p->pw_name, p->pw_passwd, (long) p->pw_uid,
(long) p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
endpwent();
return 0;
}