Bonjour à tous,
J'ai (encore) besoin de vous...
En effet j'essaie d'écrire la date (syntaxe : jj/mm/aaaa) dans un fichier afin de pouvoir par la suite consulter un historique.
Pour cela je fait de la façon suivante :
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
 
/* Déclarations des variables */        
(...)
FILE *fichier;
AnsiString date;
 
/* Initialisations des variables */  
(...)
date = DateToStr (Date());
fichier = fopen(windowIdentification->fichierUser, "a+"); 
 
/* afficher la date dans un Label et l'écrire dans un fichier*/
afficheDate->Caption = date;
(...)
fwrite (afficheDate->Caption, 1, 10, fichier);
(...)
bien entendu fwrite attend en 1er paramètre un char* et non un AnsiString.
c'est pourquoi j'ai tester en écrivant directement le contenu du Label au lieu de la variable, mais même résultat.

donc j'ai essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
fwrite (afficheDate->Caption.s_str(), 1, 10, fichier);
ou bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
fwrite ((char*)afficheDate->Caption1, 10, fichier);
Dans le premier cas, à la compilation on me dit (logiquement) que ".s_str()" n'est pas un membre de AnsiString; et dans le 2nd cas que le transtypage est impossible !!!!

Alors si quelqu'un sait comment faire pour enregistrer cette malheureuse string dans un fichier, merci de me le dire.

@+

ps: j'ai aussi tester :
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
/* Déclarations des variables */        
(...)
FILE *fichier;
AnsiString date;
char* date2 = new char(date.Length() + 1);

/* Initialisations des variables */  
(...)
date = DateToStr (Date());
fichier = fopen(windowIdentification->fichierUser, "a+"); 

/* afficher la date dans un Label, la concaténer dans une autre variable date 2 que l'on écrit dans un fichier.*/
afficheDate->Caption = date;
(...)
strcpy (date2, date.c_str());
fwrite (date2, 1, 10, fichier);
(...)