La informacion esa la tienes en las vbles de entorno.
#include <stdio.h>
#include <stdlib.h>
int main()
{
extern char **environ;
while (*environ)
puts (*environ++);
system("pause");
return 0;
}
Para sacar el usiario que está logeado tienes q usar la funcion
char *getenv(char *name)char *valor = getenv("LOGNAME=");
si quieres saber si está logeado ciero usuario
char *valor = getenv("LOGNAME=root");
si no es el usuario logeado devolvera null.
Tambien tienes la funcion
int putenv(char *string) para fijar un valor
char *valor = (char*) strdup ("TERM=vt100");
putenv(valor);
Suerte!