1 2 3 4 5 6 7 8 9 10 11 12 13
#include <pwd.h> #include <stdio.h> #include <unistd.h> char *cuserid(char *buf) { struct passwd pw, *ppw; long pwb[256]; if (getpwuid_r(geteuid(), &pw, (void *)pwb, sizeof pwb, &ppw)) return 0; snprintf(buf, L_cuserid, "%s", pw.pw_name); return buf; }