nom de fichier en C \ C++

nom de fichier en C \ C++ - Programmation

Marsh Posté le 31-12-2001 à 11:20:12    

Question en C\C++
 
je voudrais savoir comment recuperer les nom des fichiers de type connue (*.txt) dans un repertoire connue (c:\ludo\)
 
Merci d'avance  
 
Sultant

Reply

Marsh Posté le 31-12-2001 à 11:20:12   

Reply

Marsh Posté le 31-12-2001 à 11:49:14    

tu regardes tous les noms de fichier et tu compare tout ce ki ya après le '.' avec ce qui ya apres le '.' de txt!!!!
 
ca c la theorie :sarcastic:  :D


---------------
HFR : 1ER / Belgique : 1ER / Monde : 1xx / 15X.XXX Wu
Reply

Marsh Posté le 31-12-2001 à 11:58:40    

OK je veux bien j'y avais penser
 
 
mais Comment?
 quel fonction ?

Reply

Marsh Posté le 31-12-2001 à 12:05:50    

findfirst(), findnext(). peut-être qu'un findfirst('*.txt';) marche.

Reply

Marsh Posté le 31-12-2001 à 12:22:19    

Merci!

Reply

Marsh Posté le 31-12-2001 à 14:40:49    

Avec des primitives

Code :
  1. opendir()

,

Code :
  1. readdir()

.... c'est dans

Code :
  1. dirent.h

sous unix, sous windows je ne sais pas.
 
Il faut savoir que les deux premières entrées sont '.' et '..', tu peux les passer en faisant un

Code :
  1. seekdir()

. Ensuite tu fais un

Code :
  1. strstr()

sur le nom du fichier qui doit se trouver dans une structure de type

Code :
  1. dirent

je crois.
 
Voilà je viens de trifouiller mon /usr/include et tu dois t'y prendre de la manière suivante :
 
- faire un opendir de la directory (tu récupères un DIR *)
- faire un seekdir de 2 (pour '.' et '..';)
- faire une boucle quand que readdir() renvoie un pointeur ok et errno correct.
- readdir() prend un DIR * en argument et renvoie un dirent *
 

Code :
  1. struct dirent {
  2.   ino_t   d_ino;          /* "inode number" of entry */
  3.   off_t   d_off;          /* offset of disk directory entry */
  4.   unsigned short  d_reclen;       /* length of this record */
  5.   char            d_name[1];      /* name of file */
  6. };


 
Et tu fais un strstr() sur d_name.
 
Hop, dans la poche.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed