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

Посимвольная обработка UTF8 строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сдвиг элементов массива в лево. http://www.cyberforum.ru/cpp-beginners/thread22121.html
У меня логическая ошибка в этом алгоритме. Я не могу найти ее. Как работает эта часть программы? t=A; for(i=n;i>0;i--) { A=t; t=A; A=A; } тест: исходный массив-1 2 3 4 5;
C++ WM_MOUSEMOVE Нужно реализовать перемещение GDI+обекта(Елипса например)по окну с помощю мыши(WM_MOUSEMOVE). немогу найти достойного примера.Помогите плиз! http://www.cyberforum.ru/cpp-beginners/thread22119.html
Рекурсивный вывод стека с использованием классов C++
:'(Помогите пожалуйста написать прогу с определением класса рекурсии для вывода стека, заданного через массив, в обратном порядке(тоесть как вводили, так и должен выводить)
Сколько врени надо для выполнения программы C++
Всем привет. В учебнике дейтела есть программа которая тасует карты. когда я скомпилил листинг программа не зависает, а долго думает. во всем виноват наибездарнейший цикл в функции shuffle(). скажите кто-нибудь сколько примерно времени надо для выполнения этой программы. класс: class DeskOfCards { public: DeskOfCards(); void shuffle(); //тасует карты void deal(); //сдает карты...
C++ Какая функция в С++ берет только дробную часть от числа? http://www.cyberforum.ru/cpp-beginners/thread22070.html
Какая функция в С++ берет только дробную часть от числа?:)
C++ Нужно записать массив в файл, а потом из этого файла считать этот же массив Помогите, пожалуйста, никогда с файлами делов не имела. Нужно записать массив в файл, а потом из этого файла считать этот же массив. Как это сделать на чистом Си? подробнее

Показать сообщение отдельно
radx
2 / 2 / 0
Регистрация: 31.01.2009
Сообщений: 12
31.01.2009, 16:41     Посимвольная обработка UTF8 строки
Добрый день.

пишу программу в С++ в Linux Ubuntu, необходимо обрабатывать строку введенную в UTF-8 (русские символы)

Есть следующий участок:

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
31
32
33
34
35
#include <ncurses.h>
#include <unistd.h>
#include <signal.h>
#include <locale.h>
 
//libncursesw5-dev
//g++ -W -Wall -Wextra -pedantic -lncursesw test.cpp
 
void sig(int)
{
}
 
void show_string_in_table(char *string)
{
    while (*string != '\0')
    {
        printw("%c\n",*string);
        string++;
    }
}
 
int main()
{
    //Устанавливаем локаль
    setlocale(LC_ALL, "");
    signal(SIGINT, sig);
 
    char str[255]="qwedas";
 
    initscr();
    show_string_in_table(str);
    getch();
    endwin();
    return 0;
}
Функция выводит строку посимвольно в столбец. Если строка набранна латиницей.
Все хорошо, но такой метод вывода не применим для двухбайтных и более символов, из-за чего киррилица тут не отрабатывает.

Не подскажете как можно реализовать подобную задачу, обрабатывая строку посимвольно ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru