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

Перевод кодировки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Случйный выбор цифры из списка C++ http://www.cyberforum.ru/cpp-beginners/thread338070.html
Уважаемые форумчане вообщем в чем заключается задача дан список цифр 79624192,39388153,15200770,123811835,74014717,59021832,132598264,60551690,34245643,68730381,22482429,14459923,100076052,76194326,108608536,111677460,139702721,68159006,124245023,63925280,...
C++ Параллельное вычисление в консоли Привет всем. Решил я сделать тетрис. Как известно, фигура движется в низ, с определённой скоростью, и при этом программа, следя за клавишами, может перемещать объект. Трудность возникла вот в чём. Допустим задержку спуска объекта можно реализовать с помощью Sleep(1000), а узнать, какую клавишу нажал пользователь, с помощью функции getch(). Получается, что программа доходит функции getch(), и... http://www.cyberforum.ru/cpp-beginners/thread338062.html
Как запустить программу на MS Visual Studio 2008? C++
Добрый вечер. У меня возникла проблема. В школе нас учили решать простенькие задачки на Visual Studio 2005. Сейчас, спустя какое-то время, я захотел освежить некие знания. Установил Visual Studio 2008. Написал какую-то и задачку и столкнулся с проблемой. Не могу запустить. В 2005 версии была кнопка Compile. Нажимаешь и идёт проверка на ошибки. Потом жму кнопку Run и программулька запускается. А...
Своя реализация memcpy C++
Собственно одно из заданий Дейтела это требует. Но только я столкнулся с тем что void *memcpy(void *s1, const void *s2, size_t n) получает то указатели на void и возвращает указатель на void. Так как же тогда её реализовать если здесь void... преобразовать как-то в char и скопировать посимвольно? Но так у меня не получается потому как компилятор по прежнему говорит что никакой арифметики с...
C++ Сортировка букв английского алфавита http://www.cyberforum.ru/cpp-beginners/thread338008.html
Здравствуйте, помогите решить проблему не пойму в чём дело необходимо отсортировать слова: void SetsManipulation::sortA() { int count=0; for(int k=0;setOne!='\0';k++) { count++; } for (int i=0;i<count-1;i++) for (int j=i+1;j<count;j++)
C++ В экспресс-выпуске Visual C++ SKU не поддерживается редактирование ресурсов У меня стоит Microsoft Visual Studio 2010. Файл example.rc редактироваться не хочет, пишет "В экспресс-выпуске Visual C++ SKU не поддерживается редактирование ресурсов". Я так понял нужна не экспресс-версия. Можно ли экспресс превратить в НЕ экспресс? Если да, то что для этого нужно сделать? подробнее

Показать сообщение отдельно
Lindemann66
 Аватар для Lindemann66
3 / 3 / 0
Регистрация: 28.04.2010
Сообщений: 162
02.08.2011, 15:45  [ТС]     Перевод кодировки
Кстати!
А в чём разница MultiByteToWideString и MultiByteToWideChar?
В MSDN описана именно вторая функция, и, как я понял, именно её следует использовать
Например, как здесь

Добавлено через 54 секунды
Цитата Сообщение от soft.creator Посмотреть сообщение
Прошу прощения, WideCharToMultiByte и MultiByteToWideChar функции называются
как раз догадался

Добавлено через 18 минут
Кстати, заголовочником для этих функций также может быть winnls.h


Добавлено через 2 часа 36 минут
Да, кстати, вопрос

Не важно, какого типа должна быть строка?
CString, LPWSTR, LPSTR, какая-либо ещё?

Просто я делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//перекодировка строки к кодировке UTF-8
CString ContvertToUTF8(CString str, CString from) {
    map<CString, int> codePages;
    codePages["utf-16"] = 1200;
    codePages["windows-1250"] = 1250;
    codePages["windows-1251"] = 1251;
    codePages["koi8-r"] = 20866;
    codePages["koi8-u"] = 21866;
    codePages["koi8-u"] = 21866;
 
    //если данной кодировки в списке нет
    if (codePages.find(from) == codePages.end()) {
        AfxMessageBox("Неизвестная кодировка " + from);
        return "";
    }   
 
    //Get the size of the string by setting the 4th parameter to -1:
    DWORD dwNum = MultiByteToWideChar(codePages[from], 0, str, -1, NULL, 0);
 
    //Allocate space for wide char string:
    wchar_t *pwText;
    pwText = new wchar_t[dwNum];
    if(!pwText) {
        delete []pwText;
    }
    //Then convert:
    int res = MultiByteToWideChar(codePages[from], 0, str, -1, pwText, dwNum);
 
    return CString(pwText);
}
Просто, когда я смотрю в результат кодировки, там точно такой же текст без всяких изменений
И в БД, после добавления, символы тоже не меняются
Может, я в чём-то ошибся?
 
Текущее время: 14:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru