Perte de la valeur d'une chaîne
Bonjour,
j'ai écrit une pe tite fonction qui ne devrait pas poser de problème
mais au cours de la fonction je perds la valeur de ma chaîne et je ne comprends pas pourquoi.
Voici cette fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
void preparerEnregistrement (gchar *enregistrement2, gchar *activite, gchar * numero2,
long enreg,long act,long num)
{
gchar enregistrement[5]={0},numero[5]={0};
long i=0;
sprintf(enregistrement, "%d", enreg);
sprintf(activite, "%d", act);
sprintf(numero, "%d", num);
for (i=0;i<5-strlen(enregistrement);i++)
{
enregistrement2[i]=32;
}
strcat(enregistrement2,enregistrement);
printf("enregistrement: %s",enregistrement2);//On obtient " 0"
for (i=0;i<5-strlen(numero);i++)
{
numero2[i]=32;
}
strcat(numero2,numero);
printf("enregistrement: %s",enregistrement2); //on obtient ""
} |
J'ai placé deux printf pour tester la chaîne. Le premier renvoie la bonne valeur, le deuxième non. Qui pourrait me dire pourquoi ?
Merci pour votre aide