C - fopen d'un fichier

yoyo41 -  
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je cherche à ouvrir un fichier en C, je sais qu'il faut utiliser fopen(), mais le problème c'est que je ne conneis qu'une partie du nom du fichier, ça veut dir dans un répértoire, j'ai des fichiers fichier1-43413435.txt, fichier2-36453.txt, fichier3-6354354.txt ... , je ne connais que les chaines 'fichier1', ou 'fichier2', je n'ai qu'un seul fichier qui commence par fichier1, ou fichier2, ..., le nombre derrière je peux le commaître dans mon programme.

La question, sachat "fichier1", comment puis-je ouvrir 'fichier1-43413435.txt' ?

Merci pour votre aide!

yoyo
A voir également:

4 réponses

yoyo41
 
faut de frappe : .... le nombre derrière je ne peux 'PAS' le connaître dans mon programme .... ;)
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Salut,
Tu fais une boucle pour lister tous les fichiers de ton répertoire tant que le début (fichier1) ne correspond pas.
Ainsi tu récupéreras le nom complet.
Cdlt
0
yoyo41
 
euuuh t'aura pas un ptit exempl stp, chui un peu perdu, comment faire une boucle sur un repertoire? si ok, on prend chaque nom de fichier, après comment faire la comparaison ?

merci
0
yoyo41
 
strcnp fait la comparaison en se limitant à n caractère, donc ça répond parfaitement, reste donc comment lister les noms des fichiers d'un répértoire ...
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Oui, tu peux faire avec strncpy pour la comparaison.
Pour lister les fichiers du répertoire, cela est tributaire de ton OS. Quel est-il ?
Sur GNU/Linux, tu t'en sortiras avec opendir et readdir, sur Windows avec FindFirstFile et FindNextFile.
0