Ls -l en c
hello^^
-
hello^^ -
hello^^ -
Bonjour,
je souhaite coder ls -l en C et j'ai un souci pour recuperer les infos coresspondant au -l
struct dirent *lecture;
DIR *rep;
struct stat informations;
rep = opendir(".");
while ((lecture = readdir(rep)))
{
printf("%s",lecture->d_name);
printf("%ld\n",informations.st_size);
}
closedir(rep);
sa maffiche :
.0
..0
TP20
TP10
ls.c0
ls0
affiche_name.c0
affiche_name0
myLs.c0
myLs0
myLs-l.c0
myLs-l0
pourquoi sa me met la valeur 0?
je souhaite coder ls -l en C et j'ai un souci pour recuperer les infos coresspondant au -l
struct dirent *lecture;
DIR *rep;
struct stat informations;
rep = opendir(".");
while ((lecture = readdir(rep)))
{
printf("%s",lecture->d_name);
printf("%ld\n",informations.st_size);
}
closedir(rep);
sa maffiche :
.0
..0
TP20
TP10
ls.c0
ls0
affiche_name.c0
affiche_name0
myLs.c0
myLs0
myLs-l.c0
myLs-l0
pourquoi sa me met la valeur 0?
A voir également:
- Code facebook ls-nonce
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Story facebook comment ça marche - Guide
- Code activation windows 10 - Guide
7 réponses
sous windows il est plus simple d'utiliser les fonctions FindFirstFile pour lister un dossier.
les '.' et '..' sont à ignorer en général
les '.' et '..' sont à ignorer en général
bn j'ai declaré la structure mais l'initialiser avec quoi? comment?
Et c'est du C sous linux... mais si qq'un sait comment on enleve "." et ".." dite le !!! merci!!
Et c'est du C sous linux... mais si qq'un sait comment on enleve "." et ".." dite le !!! merci!!
Je ne sais pas, mais tu appels le membre st_size de information sans modifier "informations" pas étonnant qu'il te donne toujours 0.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
j'ai refais un peu le truc :
struct dirent *lecture;
struct stat taille;
// Declaration des variables
//
DIR *rep;
int filesize
// Se positionner dans le repertoire courant
//
rep = opendir(".");
// Tant qu'il y a des fichiers, afficher leur nom,les privileges...
//
while ((lecture = readdir(rep)))
{
stat("",&taille);
filesize = taille.st_size;
printf("%s %d \n",lecture->d_name,filesize);
}
printf("\n");
// Fermeture du repertoire
//
closedir(rep);
quand dans stat je specifie un nom de fichier, sa maffiche la bonne taille mais sa l'ecrit egalement sur tous les autres fichiers présents, j'ai essayé en faisant "." et "*.*" pour lui dire d'effectuer le calcul pour chaque fichier mais sa fonctionne pas... si qqun peut maider
merci
j'ai refais un peu le truc :
struct dirent *lecture;
struct stat taille;
// Declaration des variables
//
DIR *rep;
int filesize
// Se positionner dans le repertoire courant
//
rep = opendir(".");
// Tant qu'il y a des fichiers, afficher leur nom,les privileges...
//
while ((lecture = readdir(rep)))
{
stat("",&taille);
filesize = taille.st_size;
printf("%s %d \n",lecture->d_name,filesize);
}
printf("\n");
// Fermeture du repertoire
//
closedir(rep);
quand dans stat je specifie un nom de fichier, sa maffiche la bonne taille mais sa l'ecrit egalement sur tous les autres fichiers présents, j'ai essayé en faisant "." et "*.*" pour lui dire d'effectuer le calcul pour chaque fichier mais sa fonctionne pas... si qqun peut maider
merci