Bonjour,
Je recode la fonction ls -l et je rencontre un probleme majeur.
J'utilise les structure dirent et stat pour afficher les différents elements du repertoire.
Tout fonctionne pour mon repertoire courant, mais lorsque je rentre un autre repertoire ma structure stat me renvoie de la m...de.
En gros voila. Lorsque je veux afficher l'inode ou le nom du fichier il n'y a pas de soucis. A partir du moment oú je touche a stat() et que je donne comme parametre auter chose que ./ ou . sa foire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 ... void cmd_ls(char *av_recup) { DIR *dir struct dirent *d; struct stat s; dir = opendir(av_recup); while ((d = readdir(dir)) != NULL) { if (d->d_name[0] != '.') { stat(d->d_name, &s); putnbr(s.st_size); putstr(d->d_name); ... } } ... }
Je ne comprends pas pourquoi car je passe bien le nom du fichier a stat...
Merci d'avance.








Répondre avec citation
Partager