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

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

Войти
Регистрация
Восстановить пароль
 
Fedis
608 / 88 / 2
Регистрация: 08.07.2010
Сообщений: 1,893
#1

C и UTF-8 - C++

03.08.2011, 09:08. Просмотров 1043. Ответов 9
Метки нет (Все метки)

Как для приложения на C установить кодировку UTF-8? Чтобы символы на кирилице выводились и вводились нормально.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fedis
608 / 88 / 2
Регистрация: 08.07.2010
Сообщений: 1,893
03.08.2011, 09:43  [ТС]     C и UTF-8 #3
А если символ на кириллице вшит в код? Например
C
1
2
3
4
5
char ch;
...
if (ch=='э') {
...
}
zalogic
146 / 142 / 2
Регистрация: 12.12.2010
Сообщений: 269
03.08.2011, 10:22     C и UTF-8 #4
http://www.cplusplus.com/reference/c...dlib/mbstowcs/
http://lord-n.narod.ru/download/book...8/mbstowcs.htm
http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx

это смотрел?
-=ЮрА=-
Заблокирован
Автор FAQ
03.08.2011, 10:28     C и UTF-8 #5
N
Цитата Сообщение от i.c Посмотреть сообщение
char ch;
...
if (ch=='э') {
...
}
Можно как вариант создать хедер rus.h и подключить к проекту, вот листинг
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef RUS_H
#define RUS_H
#include <iostream.h>
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='в••')
            stream<<char(241);
        else if(*ps=='и')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
#endif
zalogic
146 / 142 / 2
Регистрация: 12.12.2010
Сообщений: 269
03.08.2011, 10:48     C и UTF-8 #6
а вообще вот.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#pragma hdrstop
#include <tchar.h>
//---------------------------------------------------------------------------
 
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
char ch = 'П'; char ch1 = 'р'; char ch2 = 'и'; char ch3 = 'в';
 
int i;
printf("%c", ch+192);
printf("%c", ch1+192);
printf("%c", ch2+192);
printf("%c", ch3+192);
ch = getch();
return 0;
}
это на билдере.

А так смещение если задавать 192 , то норм. Единственно что между п и р промежуток.
Ну выходит со смещением просто поколдовать.

Если не секрет в какой среде работаете?
Миниатюры
C и UTF-8  
Изображения
 
-=ЮрА=-
Заблокирован
Автор FAQ
03.08.2011, 11:05     C и UTF-8 #7
Хочу поправиться
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef RUS_H
#define RUS_H
#include <iostream.h>
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
#endif
Fedis
608 / 88 / 2
Регистрация: 08.07.2010
Сообщений: 1,893
03.08.2011, 17:25  [ТС]     C и UTF-8 #8
Цитата Сообщение от zalogic Посмотреть сообщение
Если не секрет в какой среде работаете?
Линуксовская консоль+gedit+gcc.

Добавлено через 1 минуту
main.c:3:19: фатальная ошибка: tchar.h: Нет такого файла или каталога
Компиляция прервана.
easybudda
Эксперт С++
9454 / 5467 / 926
Регистрация: 25.07.2009
Сообщений: 10,490
03.08.2011, 17:27     C и UTF-8 #9
Цитата Сообщение от i.c Посмотреть сообщение
Линуксовская консоль+gedit.
недавно было - посмотрите...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2011, 17:31     C и UTF-8
Еще ссылки по теме:

Считать utf-8 из файла C++
Utf-8. И снова кодировки C++
Libiconv конвертирование в UTF-8? C++
C++ Парсер, utf-8
Кириллицу в UTF-8 C++

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

Или воспользуйтесь поиском по форуму:
Fedis
03.08.2011, 17:31  [ТС]     C и UTF-8
  #10

Не по теме:

Собственно, пишу только на Java (а там Unicode из коробки), но сейчас потребовался нативный код.

Yandex
Объявления
03.08.2011, 17:31     C и UTF-8
Ответ Создать тему
Опции темы

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