我读了一个包含 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 ? ?? ??"
问题是,我如何将结果(我可以在运行的程序中看到的那个)写入文件?
我在 CodeGear C++Builder 上使用 C 语言
感谢 Christoph 和 nobugz 的帮助解决了
我改变了这条线
fwrite(Edit8->Text.c_str(),strlen(Edit8->Text.c_str()),1,FileOUT);
到这个,它起作用了。谢谢
fwrite(UTF8Encode(Edit8->Text).c_str(),UTF8Encode(Edit8->Text).Length(),1,FileOUT);