Concaténation et conversion de chaine de caractère... la barbe

Résolu
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006 - 18 févr. 2006 à 01:46
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006 - 19 févr. 2006 à 01:20
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

Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
18 févr. 2006 à 03:46
char chemin[MAX_PATH];

sprintf(chemin, "monDossier/%d.txt", 5);
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 févr. 2006 à 11:10
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++
0
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006
18 févr. 2006 à 11:54
Je préfererais ne pas utiliser d'instruction spécifiques à la librairie Windows :) Je vais essayer ta solution Zootella, merci
0
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006
19 févr. 2006 à 01:20
Ca marche super, merci !
0
Rejoignez-nous