Please help me somebody to convert unicodestring into string
This is how i am getting unicodestring
UnicodeString _str = OpenDialog1->FileName;
Or if it possible to write into file unicode string with ifstream or something like that?
Thanks
Please help me somebody to convert unicodestring into string
This is how i am getting unicodestring
UnicodeString _str = OpenDialog1->FileName;
Or if it possible to write into file unicode string with ifstream or something like that?
Thanks
Depending on your needs, assign the UnicodeString
to an AnsiString
or a UTF8String
, and then write that to your file instead of the original UnicodeString
itself:
UnicodeString _str = OpenDialog1->FileName;
AnsiString _astr = _str;
Or:
UnicodeString _str = OpenDialog1->FileName;
UTF8String _ustr = _str;
To pass an AnsiString
/UTF8String
to an STL function, you have to either:
1) use the c_str()
method:
stream << _astr.c_str();
2) construct a temp std::string
:
stream << std::string(_astr.c_str(), _astr.Length());
3) in the case of AnsiString
only, specify the VCL_IOSTREAM
define in your project to enable AnsiString's own <<<
and >>
operators:
stream << _astr;
Converting your string to bytes would require some encoding. There are various libraries that do this, so it depends on the framework you are using.
As an alternative, you could use wofstream
to write wchar_t
characters to the stream.
std::string converted;
us.toUTF8String(converted);
us is (ICU) UnicodeString