convertir tableau d'entier en char[]
bonjour j'ai un soucis je souhaiterai écrire dans un fichier le contenu d'un tableau d'entier jaimerai savoir comment faire pour convertir assez simplement cette suite d'entier en tableau de char (séparés par des espaces) merci d'avance de votre aide
Re: convertir tableau d'entier en char[]
Citation:
Envoyé par nin47
bonjour j'ai un soucis je souhaiterai écrire dans un fichier le contenu d'un tableau d'entier jaimerai savoir comment faire pour convertir assez simplement cette suite d'entier en tableau de char (séparés par des espaces) merci d'avance de votre aide
simplement, je ne pense pas.
En effet deja pour la taille du tableau c'est un peu du au pif car si ton tableau de int contient des nombres > 9 (ce que je pense) le chiffre > 9 prend 2 cases dans ton tableau.
Mais bon après on peut y arriver (je pense) avec des boucles.
Tiens prend ce code il fonctionne, et j'ai meme rajouter le calcul de la taille du tableau de char ^^
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char *b,d[10];
int z[5]={4, 5, 10, 50, 156};
int a,c;
int tailletableauchar=0;
int tailletableauint=5;
for(a=0; a<5; a++) { sprintf(d,"%d", z[a]); tailletableauchar+=strlen(d); } // calcul de la taille du tableau de char
tailletableauchar+=tailletableauint; // pour rajouter les espaces (autant d'espaces que de int dans le tableau)
tailletableauchar++; // pour le \0
b=malloc(sizeof(char)*tailletableauchar); // on cree le tableau dynamiquement
for(a=0,c=0; c < tailletableauint; c++,a++) { sprintf(d,"%d",z[c]); sprintf(&b[a],"%d", z[c]); a+=strlen(d); sprintf(&b[a]," "); }
b[tailletableauchar-1]=0; // on ajoute le \0
printf("%s\n", b);
free(b);
return 0;
} |