J'ai lu un fichier qui a des caractères UTF8 comme ceci:Comment écrire des fichiers avec des caractères UTF8 (lisibles)?
FILE *FileIN,*FileOUT;
FileIN=fopen("filename","r");
char string[600];
WideChar C[600],S[100];
fgets(string,600,FileIN);
wcscpy(C,UTF8Decode(string).c_bstr()); // widechar copy
Et il lit parfaitement (ce qui est indiqué dans la zone d'édition lors de l'exécution du programme):
Edit1->Text=C;
Result ===> "3021";"亜";"7";"ア アシア つ.ぐ T1 や つぎ つぐ"
La chose est que lorsque Je veux écrire ceci sur un fichier:
FileOUT=fopen("txt.txt","w");
fwrite(Edit8->Text.c_str(),strlen(Edit8->Text.c_str()),1,FileOUT);
Result ===> "3021";"?";"7";"? ??? ?.? T1 ? ?? ??"
la question est, comment puis-je écrire le résultat (celui que je peux voir dans le fonctionnement du programme) dans un fichier?
j'utiliser le langage C sur CodeGear C++ Builder
Résolue grâce à Christoph et nobugz pour l'aide
J'ai changé cette ligne
fwrite(Edit8->Text.c_str(),strlen(Edit8->Text.c_str()),1,FileOUT);
à celui-ci et travaillé. Merci
fwrite(UTF8Encode(Edit8->Text).c_str(),UTF8Encode(Edit8->Text).Length(),1,FileOUT);
Si quelques réponses vous ont aidé, ce serait bien si vous les avez votés et accepté – jpalecek