Recuperer uid, gid, en langage C

Fermé
Cynthia78 - Modifié par Whismeril le 16/04/2015 à 18:16
Bonjour à tous,

voila je suis étudiante en informatique, et je cherche à crée un programme qui prend en paramètre un login ou un uid et qui affiche les mêmes informations que la commande "id".
Malheuresement mon code me donne seulement mon login et je ne sais pas comment afficher l'ensemble de la commande id ainsi que de passer un uid/login en paramètre. (Je suis débutante ^^)

#define _PROGRAM_NAME "whoami"
#include <stdlib.h>
#include <pwd.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
  register struct passwd *pw;
  register uid_t uid;
  int c;

  uid = geteuid ();
  pw = getpwuid (uid);
  if (pw)
    {
      puts (pw->pw_name);
      exit (EXIT_SUCCESS);
    }
  fprintf (stderr,"%s: cannot find username for UID %u\n",
       _PROGRAM_NAME, (unsigned) uid);
  exit (EXIT_FAILURE);

}


Merci de m'avoir lu et si vous pouviez m'expliquez ça serait super gentil de votre pars :)

EDIT: Ajout de la coloration syntaxique.