Я прочитал файл, содержащий utf8 символов, например:
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
И он отлично читает (это отображается в окне редактирования при запуске программы):
Edit1->Text=C;
Result ===> "3021";"亜";"7";"ア アシア つ.ぐ T1 や つぎ つぐ"
Дело в том, что когда я хочу записать это в файл:
FileOUT=fopen("txt.txt","w");
fwrite(Edit8->Text.c_str(),strlen(Edit8->Text.c_str()),1,FileOUT);
Result ===> "3021";"?";"7";"? ??? ?.? T1 ? ?? ??"
Вопрос в том, как записать результат (тот, который я вижу в запущенной программе) в файл?
Я использую язык C в CodeGear C ++ Builder
Решено
спасибо Кристофу и Нобугзу за помощь
Я изменил эту строку
fwrite(Edit8->Text.c_str(),strlen(Edit8->Text.c_str()),1,FileOUT);
к этому, и это сработало. Спасибо
fwrite(UTF8Encode(Edit8->Text).c_str(),UTF8Encode(Edit8->Text).Length(),1,FileOUT);