के साथ सी ++ यूटीएफ -8 आउटपुट मैं सी ++ आईसीयू पुस्तकालय के साथ शुरू करने के लिए संघर्ष कर रहा हूं। मैंने काम करने के लिए सबसे सरल उदाहरण प्राप्त करने का प्रयास किया है, लेकिन यह भी असफल रहा है। मैं बस एक यूटीएफ -8 स्ट्रिंग आउटपुट करना चाहता हूं और फिर वहां से जाऊंगा।आईसीयू
यहाँ मैं क्या है:
#include <unicode/unistr.h>
#include <unicode/ustream.h>
#include <iostream>
int main()
{
UnicodeString s = UNICODE_STRING_SIMPLE("привет");
std::cout << s << std::endl;
return 0;
}
यहाँ आउटपुट है:
$ g++ -I/sw/include -licucore -Wall -Werror -o icu_test main.cpp
$ ./icu_test
пÑивеÑ
मेरे टर्मिनल और फ़ॉन्ट का समर्थन UTF-8 और मैं नियमित रूप से UTF-8 के साथ टर्मिनल का उपयोग करें। मेरा स्रोत कोड यूटीएफ -8 में है।
मुझे लगता है कि शायद मुझे आउटपुट स्ट्रीम को यूटीएफ -8 में सेट करने की आवश्यकता है क्योंकि आईसीयू यूटीएफ -16 के रूप में तारों को स्टोर करता है, लेकिन मुझे सच में यकीन नहीं है और मैंने सोचा होगा कि ऑपरेटर ustream.h द्वारा प्रदान किए जाएंगे वैसे भी करो।
किसी भी मदद की सराहना की जाएगी, धन्यवाद।
क्या आपने std :: wcout का उपयोग करने का प्रयास किया है? – Milan
हां, लेकिन आईसीयू ऑपरेटर प्रदान नहीं करता है << इसके लिए, इसलिए मुझे g ++ से त्रुटियों की एक लंबी सूची मिलती है। – Isaac
क्या आपने wcout पर एक बग फाइल किया था? (कृपया? :) (औचित्य के साथ?) –