2010-07-19 84 views

回答

3

ostream和C++的其餘部分都不瞭解Unicode。通常你在C++中編寫一個字符串轉換如下:

template<typename Char, typename Traits> 
std::basic_ostream<Char, Traits>& 
operator<<(std::basic_ostream<Char, Traits>& stream, const YourType& object) { 
    return stream << object.a << object.b; // or whatever 
} 

不管你得到類似於Unicode的東西都取決於實現。 C++中的流從Java的意義上來說絕不是文本流,C++的字符串不是Java的意義上的字符串。如果你想要一個真正的Unicode字符串,你可能想看看ICU library