請幫我有人要轉換的UnicodeString成字符串c + +的UnicodeString轉換成字符串
這是怎麼了我得到的UnicodeString
UnicodeString _str = OpenDialog1->FileName;
或者,如果有可能寫入文件中的Unicode字符串ifstream的或類似的東西那?
謝謝
請幫我有人要轉換的UnicodeString成字符串c + +的UnicodeString轉換成字符串
這是怎麼了我得到的UnicodeString
UnicodeString _str = OpenDialog1->FileName;
或者,如果有可能寫入文件中的Unicode字符串ifstream的或類似的東西那?
謝謝
根據您的需求,分配UnicodeString
到AnsiString
或UTF8String
,然後寫你的文件,而不是原來的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
:在AnsiString
的情況下
stream << std::string(_astr.c_str(), _astr.Length());
3)只,指定VCL_IOSTREAM
定義您的項目,以使AnsiString類型自身<<<
和>>
運營商:
stream << _astr;
將字符串轉換爲字節需要一些編碼。有很多這樣的庫,所以它取決於你使用的框架。
作爲一種替代方法,您可以使用wofstream
將wchar_t
字符寫入流中。
std::string converted;
us.toUTF8String(converted);
我們是(ICU)UnicodeString
您在詢問之前做過搜索,是不是? –
是im searchin已經1小時... – user525717
[UnicodeString :: t_str方法](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/System__UnicodeString__t_str.html),是的你也可以寫入文件,只需在文件前加上['BOM'](http://en.wikipedia.org/wiki/Byte_order_mark)。 –