http://www.icu-project.org/apiref/icu4c/classicu_1_1UnicodeString.html#a05777d826515a20a0b2bb8f4108f9348toUTF8String和本地參考
StringClass & toUTF8String(StringClass &結果)const的
轉換所述的UnicodeString爲UTF-8,並將結果附加到一個標準的字符串。
參數:結果 甲標準字符串(或兼容的對象) 到的字符串的UTF-8版本被附加。
返回: 字符串對象。
// My own function.
string toStdString(const UnicodeString& a_str)
{
string str;
a_str.toUTF8String(str);
return (str);
}
int main (void)
{
string a = toStdString("a");
string b = toStdString("b");
cout << "a:" << a << endl; // a
cout << "b:" << b << endl; // b
const char* a1 = toStdString("a").c_str();
const char* b1 = toStdString("b").c_str();
cout << "a1:" << a1 << endl; // b !!! Problem: Why not "a"?
cout << "b1:" << b1 << endl; // b
const char* a2 = a.c_str();
const char* b2 = b.c_str();
cout << "a2:" << a2 << endl; // a
cout << "b2:" << b2 << endl; // b
return (0);
}
好的,錯誤的。非常感謝。 – Toru 2013-04-07 09:57:52