Pb code c ls -l

Fermé
me 06 - 13 févr. 2010 à 15:15
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 févr. 2010 à 17:15
Bonjour,

Je fais ls -l en C , ça marche mais sa maffiche egalement "." et ".." est ce que qqun sait comment on fait pour les virer?

Merci bcp
A voir également:

7 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
13 févr. 2010 à 17:15
Le problème vient de ta fonction stat.
Tu fais stat(".",&taille). Donc le programme appliquera la fonction stat pour le même répertoire "." (répertoire courant).
Pour qu'à chaque itération, t'obtiennes la taille avec la fonction stat, tu dois plutôt faire quelque chose du genre :
struct stat taille;
while ((lecture = readdir(rep)))
{

if(lecture->d_name[0] != '.') {
   stat(lecture->d_name,&taille);
   filesize = taille.st_size;
   printf("%s %d \n",lecture->d_name,filesize);
}

Cdlt,
1