Deconcatenation de chaine

Résolu
malouve Messages postés 56 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 20 juillet 2010 - 25 août 2009 à 15:41
malouve Messages postés 56 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 20 juillet 2010 - 25 août 2009 à 21:32
Bonjour,

j'ai un fichier txt à traiter en C, ayant plusieurs fichiers, j'entre le chemin du fichier au clavier, je voudrais
en sortie, avoir un fichier du même nom que mon fichier d'entrée avec un '_OUT' à la fin.
J'ai fait une concaténation de chaine mais j'ai par exp toto.txt_OUT comme fichier de sortie
code:
strcat(filename,"_OUT.txt");
f_out = fopen(filename,"w+");


comment puis-je faire pour ne pas avoir le '.txt' après toto

Merci pour votre aide

2 réponses

cptpingu Messages postés 3840 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 23 août 2024 126
25 août 2009 à 18:26
Tu dis simplement que le nom du fichier est le nom donné, suivit de _OUT.txt.
C'est à dire:

//Récupérer le nom du fichier, sans le .txt:
char tmp[256];
char* pos = strstr(filename, ".txt");
strncpy(tmp, filename, pos - filename);

//Concaténer le morceau de chaîne:
strcat(tmp, "_OUT.txt");
f_out = fopen(tmp, "w+");
3
malouve Messages postés 56 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 20 juillet 2010
25 août 2009 à 21:32
je te remerci pour ta réponse
j'ai pu resoudre le problème

merci encore...
0
Rejoignez-nous