Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/08/2007, à 12:44

trucutu

[Résolu] C - Récupérer le nom du propriétaire d'un fichier

Bonjour,

Quand on fait un 'ls -l' sur un fichier, le nom du propriétaire apparaît en 3° colomne.
J'aimerais récupérer cette chaîne de caractère dans un programme C.

J'ai bien regardé du côté de stat(), mais cela ne me semble pas clair (avec st_mode, on peut voir les permissions, mais c'est pas tout à fait ça).
Y a t-il une autre solution que de récupérer ce nom brutalement avec l'exécution de la commande 'ls -l' traitée avec un awk par exemple ?

merci d'avance

Dernière modification par trucutu (Le 06/08/2007, à 15:24)


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#2 Le 06/08/2007, à 12:59

cduray

Re : [Résolu] C - Récupérer le nom du propriétaire d'un fichier

Hello

Euuh, stat() te donne déjà l'info non? Dans la struct retour, tu n'as pas:
  uid_t     st_uid;     /* user ID of owner */
  gid_t     st_gid;     /* group ID of owner */

Puis tu fais un getpwuid(ton_uid)

Et tu obiens
     struct passwd {
         char *pw_name;      /* user's login name */
         char *pw_passwd;    /* no longer used */
         uid_t pw_uid;       /* user's uid */
         gid_t pw_gid;       /* user's gid */
         char *pw_age;       /* not used */
         char *pw_comment;   /* not used */
         char *pw_gecos;     /* typically user's full name */
         char *pw_dir;       /* user's home dir */
         char *pw_shell;     /* user's login shell */
     };

(vérifier les struct's, normalement c'est du ANSI, mais bon, sait-on jamais)

C

Hors ligne

#3 Le 06/08/2007, à 14:13

trucutu

Re : [Résolu] C - Récupérer le nom du propriétaire d'un fichier

C'est étonnant, cela marche pour les fichiers d'un dossier. Mais, dès que je fais la même opération sur un autre dossier dans le programme, getpwuid me renvoi systématiquement NULL....


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#4 Le 06/08/2007, à 14:43

cduray

Re : [Résolu] C - Récupérer le nom du propriétaire d'un fichier

Euuuh, tu peux montrer ton code et/ou comment tu le lances?

Hors ligne

#5 Le 06/08/2007, à 15:04

trucutu

Re : [Résolu] C - Récupérer le nom du propriétaire d'un fichier

Ca ressemble à peu près à ca

[edit] Ok c'est bon. la structure stat n'était pas initialisée pour le 2° path...

La fonction est lancée avec des paths différents. Ca fonctionne pour le premier path. Mais pas le second (pwd = NULL ...)

Merci

Dernière modification par trucutu (Le 06/08/2007, à 15:24)


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne