Re: std::wstring to glib::ustring conversion
- From: Fabrício Godoy <skarllot gmail com>
- To: Daniel Elstner <daniel kitta googlemail com>
- Cc: 陈凯 <chenkai036 gmail com>, gtkmm-list gnome org
- Subject: Re: std::wstring to glib::ustring conversion
- Date: Tue, 28 Apr 2009 13:28:28 -0300
Nice, but this only works if GLIBMM_HAVE_WIDE_STREAM is defined.
PS: My Gtkmm Windows installation don't have this defined.
2009/4/28 Daniel Elstner
<daniel kitta googlemail com>
Hi,
Am Dienstag, den 28.04.2009, 08:31 -0300 schrieb Fabrício Godoy:
> I don't think that Glib::convert can convert (or convert well)
> wstrings.
> My sugestion:
>
> // #include <glib.h>
> std::wstring mywstr(L"any text");
> gchar* pt_ustr = g_utf16_to_utf8((gunichar2*)mywstr.c_str(), -1, NULL,
> NULL, NULL);
> Glib::ustring myustr(pt_ustr);
> g_free(pt_ustr);
How about this:
std::wstring wstr = L"foo";
Glib::ustring ustr = Glib::ustring::format(wstr);
:-D
I know, I know, it's not exactly obvious. But nonetheless a nice side
effect of the fact that ustring::format() is based on wide streams. And
yes, you can rely on this on any platform that supports wide streams at
all.
--Daniel
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]