#1 Le 06/08/2007, à 11: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, à 14: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, à 11: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, à 13: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, à 13: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, à 14: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, à 14:24)
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne