Je viens de passer de Builder 6 à Builder 2009 et j'ai une question.Ecrire une chaîne unicode dans un fichier avec CodeGear C++ Builder 2009
Comment écrire une chaîne unicode dans un fichier?
TBytes Preamble1 = TEncoding::Unicode->GetPreamble();
UnicodeString str1("string1");
int len = TEncoding::Unicode->GetByteCount(str1);
FileWrite(iFile,&Preamble1[0],Preamble1.Length);
FileWrite(iFile,str1.c_str(),len);
Ceci est ce que je fais maintenant, mais je suppose qu'il devrait y avoir une certaine façon native.
Btw, est-ce OK pour obtenir le préambule une fois et supposer que pendant la durée de vie de l'application il ne change pas? De la documentation disponible pour UnicodeString il semble que c'est toujours UTF-16 LE
CodeGear C++ ne prend-il pas en charge les bibliothèques C++ standard? Pourquoi n'utilisez-vous pas std :: wstring et std :: ofstream pour faire le travail? – Sahas
Pouvez-vous, s'il vous plaît, fournir un exemple de travail? Je n'ai jamais utilisé de fonctions stl Unicode, seulement des fonctions régulières. – Andrew