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);