Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5241 connectés 

 


Dernière réponse
Sujet : Prob : Afficher un répertoire en C & Mettre Données dans une structure
MrTonio C est pas la norme tout ca !!!!!!  :sol:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
MrTonio C est pas la norme tout ca !!!!!!  :sol:
Carbon_14 En premier, éviter le piège char chemin[6] pour mettre 6 caractères, le \0 terminal, il va chez qui, écraser un caractère de la variable suivante ? Faut toujours prévoir un de plus pour les char de chaînes (sauf si on écrit ses routines soi-même !).
 
moule = malloc(sizeof(struct lafile)); habituellement, il me semble qu'on précise le type, genre (char *)malloc(), ou (toto *)malloc(), .. C'est plus facile à reprendre/relire.
 
moule, c'est un quoi ? il est déclaré sous quel "type" ?
 
Ca gène pas d'allouer de la mémoire à moule plus d'une fois sans la libérer qq part ?
 
Aux autres à faire avancer le schmilibilick.. :)
Un4GivN Merci !! Toi t'es fort :))
antsite si nom_fichier est un char[], je mettrai :
strcpy(nom_fichier,fblock.ff_name);
Un4GivN Alllllo !!
Un4GivN void affiche_fichiers(char lecteur)
{
 struct ffblk fblock;
 char chemin[6] = "C:\\*.*";
 chemin[0] = lecteur;
 
 if(findfirst(chemin,&fblock,NORMAL) != 0 )
 {
  puts("Erreur de lecteur !" );
 }
 printf("%s\t%d\n",fblock.ff_name,fblock.ff_fsize);
 
 moule = malloc(sizeof(struct lafile));
 debut = moule;
 courant = moule;
 moule -> nom_fichier = fblock.ff_name;
 moule -> size_fichier = fblock.ff_fsize;
 moule -> suivant = NULL;
 
 while( findnext(&fblock) == 0)
  printf("%s\t%d\n",fblock.ff_name,fblock.ff_fsize);
  moule = malloc(sizeof(struct lafile));
  courant -> suivant = moule;
  courant = moule;
  courant -> suivant = NULL;
  moule -> nom_fichier = fblock.ff_name;
  moule -> size_fichier = fblock.ff_fsize;
 
}
 
Le problème : cette ligne là marche : printf("%s\t%d\n",fblock.ff_name,fblock.ff_fsize);
 
Celle-ci, qui pourtant a les même noms que lautre, ne marche pas : moule -> nom_fichier = fblock.ff_name; <-- Msg d'erreur : LValue Required.   Ma structure est correcte en passant.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)