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 : Sélectionner tout - Visualiser dans une fenêtre à part
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