请帮助我将unicodestring转换为字符串

这就是我得到unicodestring的方式

UnicodeString _str = OpenDialog1->FileName;


或者是否可以使用ifstream或类似的东西写入文件unicode字符串?

谢谢

最佳答案

根据您的需要,将UnicodeString分配给AnsiStringUTF8String,然后将其写入文件而不是原始的UnicodeString本身:

UnicodeString _str = OpenDialog1->FileName;
AnsiString _astr = _str;


要么:

UnicodeString _str = OpenDialog1->FileName;
UTF8String _ustr = _str;


要将AnsiString / UTF8String传递给STL函数,您必须:

1)使用c_str()方法:

stream << _astr.c_str();


2)构造一个临时std::string

stream << std::string(_astr.c_str(), _astr.Length());


3)仅在AnsiString的情况下,在项目中指定VCL_IOSTREAM定义以启用AnsiString自己的<<<>>运算符:

stream << _astr;

09-25 16:06