use*_*717 2 string unicode c++builder utf-8 stdstring
请帮助我将unicodestring转换为字符串
这就是我获得unicodestring的方式
UnicodeString _str = OpenDialog1->FileName;
Run Code Online (Sandbox Code Playgroud)
或者如果可以用ifstream或类似的东西写入文件unicode字符串?
谢谢
根据您的需要,将其分配UnicodeString
给a AnsiString
或a UTF8String
,然后将其写入文件而不是原始文件UnicodeString
:
UnicodeString _str = OpenDialog1->FileName;
AnsiString _astr = _str;
Run Code Online (Sandbox Code Playgroud)
要么:
UnicodeString _str = OpenDialog1->FileName;
UTF8String _ustr = _str;
Run Code Online (Sandbox Code Playgroud)
要将AnsiString
/ 传递UTF8String
给STL函数,您必须:
1)使用c_str()
方法:
stream << _astr.c_str();
Run Code Online (Sandbox Code Playgroud)
2)构建一个临时std::string
:
stream << std::string(_astr.c_str(), _astr.Length());
Run Code Online (Sandbox Code Playgroud)
3)AnsiString
仅在情况下,VCL_IOSTREAM
在项目中指定define以启用AnsiString自己的<<<
和>>
运算符:
stream << _astr;
Run Code Online (Sandbox Code Playgroud)