Concaténation et conversion de chaine de caractère... la barbe [Résolu]

Signaler
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006
-
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006
-
Bonsoir, alors voilà, j'aimerai écrire une fonction qui lit dans un fichier avec pour argument le nom du fichier (qui est un entier) donc de la forme :

void LireFichier (int numFichier)
{
const char* chemin =???;

FILE * fopen(chemin, 'r');
....

}

j'aimerai que chemin soit de la forme : "monDossier/" + numFichier + ".txt"
Il faudrait donc d'une part convertir numFichier en caractère et ensuite concaténer le tout en chaine de caractère puis faire en sorte qu'il s'agisse d'un type const char*... Si vous avez une méthode (relativement) simple pour faire ca je suis preneur

Merci !
Vincent

4 réponses

Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006

char chemin[MAX_PATH];

sprintf(chemin, "monDossier/%d.txt", 5);
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Sous Windows et sans stdio.h:


char szfile[MAX_PATH], *c;
c = szfile + GetModuleFileName(0, szfile, MAX_PATH);
while(*c != '\\') c--;
ultoa(numFichier, c + 1, 10);
while(*c) c++;
strcpy(c, ".txt");

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006

Je préfererais ne pas utiliser d'instruction spécifiques à la librairie Windows :) Je vais essayer ta solution Zootella, merci
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006

Ca marche super, merci !