String C++;将分解转换为字符串

String C++;将分解转换为字符串,string,unicode,utf-8,c++builder,stdstring,String,Unicode,Utf 8,C++builder,Stdstring,请帮我把解构转换成字符串 这就是我如何得到独角兽的原因 UnicodeString _str = OpenDialog1->FileName; 或者如果可以使用ifstream或类似的东西将unicode字符串写入文件中 谢谢将字符串转换为字节需要一些编码。有各种各样的库可以做到这一点,因此这取决于您使用的框架 或者,您可以使用wofstream将wchar\u t字符写入流。根据您的需要,将UnicodeString分配给AnsiString或UTF8String,然后将其写入您的文件

请帮我把解构转换成字符串

这就是我如何得到独角兽的原因

UnicodeString _str = OpenDialog1->FileName;
或者如果可以使用ifstream或类似的东西将unicode字符串写入文件中


谢谢

将字符串转换为字节需要一些编码。有各种各样的库可以做到这一点,因此这取决于您使用的框架


或者,您可以使用
wofstream
wchar\u t
字符写入流。

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

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

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

1) 使用
c_str()
方法:

stream << _astr.c_str();
3) 仅在
AnsiString
的情况下,在项目中指定
VCL\u IOSTREAM
定义以启用AnsiString自己的


美国(ICU)正在销毁

您在询问之前已经搜索过了,是吗?是的,我已经搜索了1小时了…,是的,您也可以写入文件,只需在文件前面加前缀。远离
t\u str()
方法。使用它是很危险的,因为它会修改UnicodeString的内部数据,并且在更高版本的C++Builder中已被删除。
stream << _astr.c_str();
stream << std::string(_astr.c_str(), _astr.Length());
stream << _astr;
std::string converted;
us.toUTF8String(converted);