2016-06-15 5 views
0

Я пытаюсь напечатать строку с универсальными символами, хранящимися в ней. Если я инициализируюсь строка следующего текста:Печать универсальных символов (html), хранящихся в строке C++

string test = "\u000D\u000A\u000D\u000Aclass Solution {\u000D\u000Apublic:\u000D\u000A 
cout << test << endl; 

было бы распечатать на выходе я хочу:

class Solution { 

, но если я получаю ту же строку из Curl результата, как следующее:

curl_easy_setopt(curl, CURLOPT_WRITEDATA, addressof(test)); 
res = curl_easy_perform(curl); 
cout << test << endl; 

было бы напечатать:

\u000D\u000A\u000D\u000Aclass Solution {\u000D\u000Apublic:\u000D\u000A 

Я попытался включить тест в const char * c_str, а затем распечатать его, но он все еще не работает. Я попытался отправить его в течение нескольких часов, но, к сожалению, я не могу найти ответ. Я использую Mac и компилировать с

clang++ -std=c++11 -Wall -Wextra -lcurl 

Может кто-нибудь помочь мне в этом? Спасибо большое!

+0

Универсальные символы - это концепция, известная компилятору C++, не переведенная во время выполнения. – chris

+1

Добро пожаловать в прекрасный мир кодов, кодировок, локалей и Unicode. Вы найдете несколько тысяч страниц справочных материалов по коридору, последний номер слева от вас. Бесконечная вероятность ответа возможна только после определения конфигурации хоста O/S и системной среды; и поскольку эта информация не была дана в вопросе, авторитетный ответ не будет возможен. –

+0

@chris Спасибо за ваш ответ, это любой возможный способ решить проблему? –

ответ

0

На всякий случай, если кто-то сталкивается с той же проблемой, я делаю это с помощью библиотеки ICU с UnicodeString Converter.