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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mishol76
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 9
#1

UTF8 To Char - C++

07.05.2013, 15:15. Просмотров 492. Ответов 8
Метки нет (Все метки)

Помогите с задачкой!
Мне надо сделать программу которая переводит строки из UTF8 в нормальный текст и обратно
(норм текст это русские буквы и несколько символов)

Пытался искать в интернете нечего не нашел чтобы помогло! (или плохо искал)

Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2013, 15:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос UTF8 To Char (C++):

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& - C++
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, unsigned short); ...

Ошибка в cannot convert char * to char вроде поправил теперь выводит ересь( - C++
Всем доброго дня! У меня такая проблемка.... написал программу, но сначала она ругалась на Cannot convert char* to char теперь вроде...

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' - C++
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &amp;struc1) { ...

Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) - C++
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа Помогите...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

array char* to char* (значения массива указателей в один указатель) - C++
Как сложить(или вывести в формате char*) все значения массива указателей(char *) воедино, то есть сложить строки и назначить результату...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
07.05.2013, 15:27 #2
C
1
http://local.joelonsoftware.com/wiki/Абсолютный_Минимум,_который_Каждый_Разработчик_Программного_Обеспечения_Обязательно_Должен_Знать_о_Unicode_и_Наборах_Символов
Добавлено через 3 минуты
Извиняюсь за формат ссылки, но по-другому отображается неправильно.
1
mishol76
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 9
07.05.2013, 16:07  [ТС] #3
Цитата Сообщение от Убежденный Посмотреть сообщение
C
1
[url]http://local.joelonsoftware.com/wiki/Абсолютный_Минимум,_который_Каждый_Разработчик_Программного_Обеспечения_Обязательно_Должен_Знать_о_Unicode_и_Наборах_Символов[/url]
Добавлено через 3 минуты
Извиняюсь за формат ссылки, но по-другому отображается неправильно.
Спасибо конечно но я так и не понял:

как перевести функцией мне та надо сделать void int или bool функцию:

Зато понял что нужно:
вместо char и используем wcs-функции вместо str-функций (например wcscat и wcslen вместо strcat и strlen)
0
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
07.05.2013, 16:17 #4
Я дал ссылку, чтобы Вы определили, что означает "нормальный текст" (первое сообщение темы).
И чем UTF-8 не нормальный ?
0
mishol76
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 9
07.05.2013, 16:24  [ТС] #5
Цитата Сообщение от Убежденный Посмотреть сообщение
Я дал ссылку, чтобы Вы определили, что означает "нормальный текст" (первое сообщение темы).
И чем UTF-8 не нормальный ?
у примеру вот такая строка мне дана

C++ (Qt)
1
Привет мир!
мне не как её прочитать, хотя я знаю что там напиано "Привет мир!"
0
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
07.05.2013, 16:27 #6
Покажите код, который выводит строку.
1
mishol76
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 9
07.05.2013, 16:42  [ТС] #7
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
void DrawString(int x, int y, DWORD color, const char *fmt, ...)
{
        RECT FontPos = { x, y, x + 100, y + 13 };
        char buf[1024] = {'\0'};
        va_list va_alist;
 
        va_start(va_alist, fmt);
        vsprintf(buf, fmt, va_alist);
        va_end(va_alist);
 
        g_pFont->DrawText(NULL, buf, -1, &FontPos, DT_NOCLIP, color);
}
DrawString(200, 20,D3DCOLOR_ARGB(255, 255, 255, 255),"%x // %x",names_2,names);
0
-=ЮрА=-
Заблокирован
Автор FAQ
07.05.2013, 17:58 #8
mishol76, Русский текст без танцев с бубнами

Добавлено через 1 минуту
А это конверт в UTF Кодировка файла
1
mishol76
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 9
07.05.2013, 18:32  [ТС] #9
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
mishol76, Русский текст без танцев с бубнами

Добавлено через 1 минуту
А это конверт в UTF Кодировка файла
хорошо я сделал правда по другому (брат подсказал)

но вопрос теперь состоит в другом у меня вместо буквы в переменную (int) записываеться её номер в юникоду

К примеру для "А" 410

как вывести букву зная номер в юникоде?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 18:32
Привет! Вот еще темы с ответами:

Ошибка: call of overloaded 'strchr(char&, char)' is ambiguous - C++
Здравствуйте, прога почему-то ругается на функцию strchr, вот кусок кода: #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

Различное поведение функции которая копирует строки с char* t и char t[] - C++
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в другую: void strstr(char* t,...

Ошибка в работе с файлами: error: incompatible types in assignment of ‘char*’ to ‘char* [255]’ - C++
Суть задания Есть файл допустим 1.txt нужно выполнить обработку этого файла а результат вывести в этот же файл с другим расширением ...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.05.2013, 18:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru