Bonjour, j'essaye de concatener une date que j'ai recueulli grace a la fonction CurrentDate() de TDateTime (format jj/mm/aaaa). Je recupere son resultat dans un AnsiString puis le met dans un char grace a c_str(). Le probleme vient ensuite, lorsque je recupere les infos, ça passe nikel mais des que je veux les regrouper grace a sprintf ou encore strcat sous la forme aaaa-jj-mm, je ne recois plus du tout les bons chiffres et cela modifie meme mes variables préalablement initialisé avec les bonnes valeurs. Voici mon code pour plus de precision :

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
26
27
28
29
30
31
32
33
34
35
36
        char Annee[4];
        char Mois[2];
        char Jour[2];
        char Date2[10];
        int i,j,k;
        int h=0;
        int d=0;
 
        Date = HeureDateCourante.CurrentDate();
 
        char *Date1 = Date.c_str();
 
        for(i=0;i <= 1;i++)
        {
          Jour[i] = Date1[i];
        }
        for(j=3;j <= 4;j++)
        {
          Mois[h] = Date1[j];
          h++;
        }
        for(k=6;k <= 9;k++)
        {
          Annee[d] = Date1[k];
          d++;
        }
 
        Annee[4]='\0';
        Jour[2]='\0';
        Mois[2]='\0';
 
        sprintf(Date2,"%s-%s-%s",Annee,Jour,Mois);
 
        Heure = HeureDateCourante.CurrentTime();
        *IHeure=Heure;
        *IDate=Date2;
J'ai meme essayer avec atoi pour transformer le contenu des tableaux Annee, Jour et Mois en decimal, mais cela reviens au meme. Voici ce que j'obtiens : "0-11-0" dans le meilleur des cas.
Merci d'avance.
john


[Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]