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 :
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.
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;
Merci d'avance.
john
[Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]
Partager