Форум программистов, компьютерный форум CyberForum.ru

Преобразование String UTF8 в 1251 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевести char* или byte* в Hex-строку http://www.cyberforum.ru/cpp-beginners/thread1249544.html
Собственно сабж. А ситуация такая: Есть функция принимающая толи char* толи BYTE* и мне нужно перевести этот массив в HEX-строку, при чом нужно просто перевести, не меняя оригинал во обще, ибо оригинал пойдет дальше на выход, а HEX-строка просто запишется в лог. Каким это образом можно сделать? Приоретет скорость..
C++ Как можно временно полностью выключить часть кода в проекте Добрый день. Вопрос о том, как можно временно полностью выключить часть кода в проекте. Пример: проект состоит из следующих файлов: #define FUNC #include "lib.h" http://www.cyberforum.ru/cpp-beginners/thread1249494.html
Как открыть исходники с++, если нет *.sln файла C++
Скачал исходники проекта (вот ссылка https://github.com/Y-Vladimir/SmartDeblur/tree/master/src). Пробовал открыть его через visual studio, но там нет .sln файла. Могу открыть только отдельные файлы, а как открыть его проектом?
C++ Перемещение по списку и вывод сообщения о текущем элементе
Доброго времени суток! Необходима помощь с кодом, разобраться что не так и как с этим бороться. Совсем недавно начал разбираться со структурами в С++ и вот наткнулся на связанный список и застрял Идея такова: Есть связанный список и указатель на первый эллемент. Нам необходимо перемещатся по списку и выводить сообщение в каком из элементов списка мы находимся..... Вот код: #include...
C++ Конвертация из int в char http://www.cyberforum.ru/cpp-beginners/thread1249483.html
есть длина строки которая int или даже 8 байтный long, но если в ней число < 255 то мне нужно её положить в 1 байт (char), но тут начинаються неожиданости int len = 165; char c = ( len & 255 ); // или просто len std::cout << (int)c << std::endl; вывод: -91 wtf? Как мне в c получить 165 ?
C++ Узнать, всё ли прочитал recv или нет Читаю данные при помоши recv, по лоике кода, если при повторном recv результат вернувшихся байт данныех = 0 то выходим из цыкла, но браузеры и многие сайты, после того как передали всё, ьольше ничего не возвращают, и recv в зависает в ожидании данных, как поступить правильно в таком случае? установит тайм аут на recv? - если да то как?, или как-то можно иначе узнать всё ли прочитал recv или нет?... подробнее

Показать сообщение отдельно
Tester64
394 / 355 / 43
Регистрация: 22.05.2013
Сообщений: 2,455
31.08.2014, 19:10     Преобразование String UTF8 в 1251
Нашел пример:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
    wchar_t s[] = L"London Москва";
    char utf8[100];
    wchar_t wstr[100];
    char s1251[100];
    WideCharToMultiByte(CP_UTF8, 0, s, -1, utf8, 100, NULL, NULL);
    utf8[WideCharToMultiByte(CP_UTF8, 0, s, -1, utf8, 0, NULL, NULL)]='\0';
    // Подготовили строку UTF8 дальше идет ее преобразование в 1251
    MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, 100);
    wstr[MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, 0)];
    WideCharToMultiByte(1251, 0, wstr, -1, s1251, 100, NULL, NULL);
    utf8[WideCharToMultiByte(1251, 0, wstr, -1, s1251, 0, NULL, NULL)]='\0';
    printf("%s\n", s1251);
Шикарно работает в консоли, но ОЧЕНЬ надо пределать его в функции со String
C++ (Qt)
1
2
3
4
5
std::string UTF8_to_1251(const std::string ss) {
   //...
}
...
printf(UTF8_to_1251("London Москва"));
Но знаний по преобразованию строк в char и назад не хватает! Только начал вычитывать, а функция нужна срочно!
Помогите хоть немножко!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru