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

Как сделать так, чтобы программа понимала русские буквы? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Интернет и С++ http://www.cyberforum.ru/cpp-beginners/thread337748.html
Здраствуйте. Посоветуйте книги, статьи по сетевому программированию на С++, хочу понять саму систему, как там все должно быть устроено, т. е. что бы обьяснялся не сам инструментарий. Спасибо.
C++ Вывод информации о *.bmp на чистом C++ Собственно вот: #include <iostream> #include <fstream> #include <cmath> using namespace std; int main(int argc, char *argv) { char ch; http://www.cyberforum.ru/cpp-beginners/thread337746.html
C++ шаблоны
возник вопрос, а как можно сделать так, чтобы различные экземпляры шаблона класса вели себя по разному в зависимости от того, что было передано в аргументах - класс или некласс. Приведу пример template<typename T> class Class { private: template<typename C> bool func(C const& x, C const& y, int C::*) { return true; }
[BMP] HEX (из HEX-редактора) в DEC C++
Имеется файл *.bmp (который нельзя вложить в сообщение). В самом файле есть его свойства (размер и т.д.). Как их перевести из HEX в DEC? Размер - ce 6b 0e 00 (байт) - 922 КБ (945,102 байт) X x Y - c2 01 00 00 x bb 02 00 00 (пикселей) - 450 x 699 пикселей В HEX значения взяты из самого файла, а в DEC - из "ПКМ - Свойства". Только вот я не могу понять как переводить, ведь 0xce6b0e00 = 3 463...
C++ Создание SAVE файла. Запись и чтение. http://www.cyberforum.ru/cpp-beginners/thread337673.html
Доброго времени суток! Хочу обратиться за мудрым советом к профессионалам. Мне необходимо реализовать в своем приложении создание SAVE файла. Запись и чтение из него. У меня есть массив объектов. Скорее всего, количество объектов не будет больше ста. У каждого объекта есть шесть параметров - числа типа double, один параметр, который может принимать одно из четырех целочисленных значений (1, 3,...
C++ мужики , какая функция отвечает за "глюк" раб.стола? скинул себе программу "прикол", а там есть такая менюшка глюк экрана, поле установки которой текст становится неразборчив. ну вот как программно отключить это посредством си / с++(лучше в си)? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.08.2011, 18:42     Как сделать так, чтобы программа понимала русские буквы?
Без понятия, будет ли оно в винде работать, и проверить не на чем...
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <wctype.h>
#include <locale.h>
#include <string.h>
 
const wchar_t wsRuAlpha[] = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
const wchar_t wsEnAlpha[] = L"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
 
const wchar_t wsPrompt[] = L"Строка";
const wchar_t wsCounters[] = L"Счётчики";
const wchar_t wsRuCount[] = L"Русские буквы";
const wchar_t wsEnCount[] = L"Английские буквы";
const wchar_t wsDigitCount[] = L"Цифры";
const wchar_t wsPunctCount[] = L"Знаки пунктуации";
const wchar_t wsSpaceCount[] = L"Пробельные символы включая перевод строки";
const wchar_t wsOtherCount[] = L"Прочие символы";
 
int main(void){
    wchar_t buf[BUFSIZ], * pBuf, * pCount;
    int ruCount[wcslen(wsRuAlpha)];
    int enCount[wcslen(wsEnAlpha)];
    int digitCount, punctCount, spaceCount, otherCount, i;
    
    setlocale(LC_ALL, "");
    
    while ( printf("%ls: ", wsPrompt) && fgetws(buf, BUFSIZ, stdin) && *buf != L'\n' ){
        memset(ruCount, 0, sizeof(ruCount));
        memset(enCount, 0, sizeof(enCount));
        digitCount = punctCount = spaceCount = otherCount = 0;
        
        for ( pBuf = buf; *pBuf != L'\0'; ++pBuf ){         
            if ( pCount = wcschr(wsRuAlpha, *pBuf) )
                ++ruCount[pCount - wsRuAlpha];
            else if ( pCount = wcschr(wsEnAlpha, *pBuf) )
                ++enCount[pCount - wsEnAlpha];
            else if ( iswdigit(*pBuf) )
                ++digitCount;
            else if ( iswpunct(*pBuf) )
                ++punctCount;
            else if ( iswspace(*pBuf) )
                ++spaceCount;
            else
                ++otherCount;
        }
        
        printf("\n%ls\n", wsCounters);
        printf("%ls:\n", wsRuCount);
        for ( i = 0; i < sizeof(ruCount) / sizeof(*ruCount); ++i )
            if ( ruCount[i] != 0 )
                printf("%lc\t%3d\n", *(wsRuAlpha + i), ruCount[i]);
        printf("%ls:\n", wsEnCount);
        for ( i = 0; i < sizeof(enCount) / sizeof(*enCount); ++i )
            if ( enCount[i] != 0 )
                printf("%lc\t%3d\n", *(wsEnAlpha + i), enCount[i]);
        printf("%ls: %d\n", wsDigitCount, digitCount);
        printf("%ls: %d\n", wsPunctCount, punctCount);
        printf("%ls: %d\n", wsSpaceCount, spaceCount);
        printf("%ls: %d\n", wsOtherCount, otherCount);
        printf("\n");
    }
    
    return 0;
}
Как сделать так, чтобы программа понимала русские буквы?
 
Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru