Langage C incrementation de char ??

Résolu/Fermé
Deesoul Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 9 août 2010 - Modifié par Deesoul le 24/06/2010 à 12:46
Deesoul Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 9 août 2010 - 24 juin 2010 à 17:56
Bonjour,
Voila depuis a peu prés 2 jours j'arpente en vain les sombres et interminables couloirs d'internet a la recherche de fonctions ou de tableaux de conversion de variables int (numériques) en char et vice-versa, car voici mon projet qui est en fait un exercice.

Je veux créer des fichiers (.txt) en leur donnant un nom, par exemple Bonjour*.txt
et en créer autant que je veux en rajoutant un chiffre a chaque fois, si je veux 3 copies je devrais donc obtenir 3 fichiers nommés :
_Bonjour1.txt
_Bonjour2.txt
_Bonjour3.txt
Tout ceci a l'aide d'une boucle bien sur sur le modele :
while ( x < copies)
{
Créer le fichier ....
....
x ++;
}

Par pitié aidez moi je n'en peux plus :(
Merci d'avance, :)

3 réponses

Deesoul Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 9 août 2010 1
24 juin 2010 à 15:19
MERCI BEAUCOUP SA MARCHE IMPEC' ;) !
Juste si vous pourriez m'expliquez le fonctionnement sa serait cool :S mais sinon c'est pas grave.

Merci encore :D
1
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
24 juin 2010 à 15:27
Salut,
je te renvoie au lien de la fonction sprintf
http://www.cplusplus.com/reference/cstdio/sprintf/
en gros et pour faire court ;), cette fonction est similaire à printf sauf que les données sont stockées dans le buffer que tu lui passes en paramètre....
@+
0
Deesoul Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 9 août 2010 1
24 juin 2010 à 17:56
D'accord merci beaucoup j'ai compris ;) !
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
24 juin 2010 à 13:06
Salut,
tu peux t'inspirer de cela....
int main()
{

    int copies,x;
    x=0;
    copies=10;
    char buff[50];
    FILE * pFile;
    while ( x < copies)
    {
        memset(buff,0,sizeof(buff));
        sprintf(buff,"c:\\temp\\_Bonjour%d.txt",x);
        pFile = fopen (buff,"w");
        fclose(pFile);
        x++;
    }
    return 0;
}

@+
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
24 juin 2010 à 13:20
Bonjour chuka,

Tu n'as pas besoin de mettre de memset, et encore moins dans un while ;-))).
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
24 juin 2010 à 13:30
Salut,
en effet... précaution d'usage d'init du tableau abusive ici!!;-))
@+
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
Modifié par fiddy le 24/06/2010 à 13:17
Tu peux tester :
char tmp[16];   
while (x< copies) {   
   sprintf(tmp,"_Bonjour%d.txt",x++);   
   fclose(fopen(tmp,"w")); 
}   

Cdlt,
0