Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/55: Рейтинг темы: голосов - 55, средняя оценка - 4.62
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 115

QT узнать код символа

13.08.2010, 23:12. Показов 11333. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно проверить предложение на наличии кирилицы (тоесть если кирилици мало то исключить его со списка)
есть такой сайтик со списком юникодовских чарактеров...
http://webdesign.site3k.net/?/docs/unicode.html
пишу следующие
C++
1
2
3
QTextStream out(stdout);
QChar c('д');
out<<c.unicode();
оно выводит 53428
как бы мне узнать... кирилица это или нет....?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.08.2010, 23:12
Ответы с готовыми решениями:

KOI8-R узнать hex символа
Всем привет! Как средствами Qt, C++ вывести шестнадцатеричный код символа в кодировке KOI8-R? const char string =...

Получить код символа
Здравствуйте, уже немерено времени потратил. Нужно получить unicode-код символа, даже если ввожу кириллицу. Испробовал уже всё что только...

Двоичный код произвольного символа
Привет! Задача следующая. Курсовая по шифрованию. Нужно извлечь двоичный код символа (16 битная кодировка) и записать в переменную или...

9
 Аватар для ATAMAN200
9 / 9 / 0
Регистрация: 14.08.2010
Сообщений: 148
14.08.2010, 12:54
откомпилируй вот это в VC++ и будет целая прога для узнавания кода символов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char a;
    int b;
while(1+1)
{
    cin >> a;
    b = a;
    cout << b << endl;
}
}
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2010, 13:52
ATAMAN200, пара моментов:
1) MS не поддерживает QT
2) для кириллицы ваша программа не работает
3) она не работает с юникодом

_nobody_, почитайте http://ru.wikipedia.org/wiki/%... 0%B4%D0%B5 и делайте проверку только на попадание в диапазон кодов
0
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 115
14.08.2010, 17:09  [ТС]
M128K145,
1) можна кютешный адон к VS скачать с оффсайта.. (это просто к слову)
насколько я понял мне нужен вот єтот диапазон
Cyrillic кириллица 0400 04FF
но как узнать хекс-код символа....
пробовал так
C++
1
2
3
4
QTextStream o(stdout);
    QByteArray ba;
    ba.append('а');\\ это кирилица
    o<<QString::number(ba.at(0), 16);
неполучилось...
выводит - ffffffffffffffe0
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2010, 20:18
А что, С++ не позволяет делать сравнение инта с хексом без перевода в другую сс?
0
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 115
14.08.2010, 21:07  [ТС]
C++
1
2
3
4
5
    QTextStream o(stdout);
    QChar c('к');
    if (c> 1039 && c < 1104)
        o<<"ura";
    else o<<"!ura";
наверное нельзя... выводит !ura
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2010, 22:06
_nobody_, у вас не желания забить массив теми символами на которые надо сделать проверку и в цикле вывести их коды, а потом сделать проверку на попадание в те интервалы, которые в результате получите? Это проще чем сидеть и гадать, какая же там у вас кодировка
0
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 115
14.08.2010, 23:23  [ТС]
M128K145,
нет... это плохой метод, хотя это довольно изобретательно... но я решил проблему.... и я не сидел и не думал какая там кодировка....
C++
1
2
3
4
QTextCodec::setCodecForCStrings( QTextCodec::codecForName("windows-1251") );//вот в чем //загвоздка
    QTextStream o(stdout);
    QChar c = 'л';
    o<<c.unicode();
output 1083
и тогда диапазон будет от 1040 до 1111
вам большое спасибо что помогали!
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2010, 23:32
_nobody_, я не сказал, что в одной программе, потому как это глупо, но иногда приходится для написания программы писать вспомогательные программки
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
15.08.2010, 02:41
_nobody_, просто для разнообразия: вот эта програмка считает количество гласных букв в строке. Я бы не заморачиваясь кодами подобным макаром и с вашим случаем поступил - по моему так проще...
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
#include <QString>
#include <QTextCodec>
#include <QTextStream>
 
#define tr QObject::tr
 
int main(){
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(codec);
    QString vowels(tr("АЕЁИОУЫЭЮЯ"));
    QString buf;
    int cnt = 0;
 
    QTextStream ist(stdin);
    ist.setCodec(codec);
    QTextStream ost(stdout);
    ost.setCodec(codec);
 
    ost << tr("Строка: ");
    ost.flush();
    buf = ist.readLine();
    for ( QString::iterator it = buf.begin(); it != buf.end(); ++it )
        if ( vowels.contains(*it, Qt::CaseInsensitive) )
            ++cnt;
    ost << tr("Гласных букв: ") << cnt << "\n";
    ost.flush();
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.08.2010, 02:41
Помогаю со студенческими работами здесь

Как получить второй код символа
Привет. Работаю с русским текстом и файлами. Сидя в отладчике в QT первый раз увидел что символ имеет 2 значения, например: в...

Узнать код Unicode символа
Нужно вывести код вводимого юникодного символа, например при символе ∂ должен вывести 2202, а у меня выводит 63. В чем проблема? ...

Узнать код последнего введенного символа
Ребят, помогите пожалуйста!!! Есть RichTextBox, в котором написан текст, необходимо вывести в TextBox код последнего введенного символа.

Как узнать Ascii-код символа?
вопрос проще-простого(вроде бы), но ответа не найти. как узнать Ascii символа, который в техтвох. заранее благодарю

Как узнать код последнего символа в строке?
Здравствуйте. Возникла ситуация, где в переменную копируется строка, последний символ которой не известен и выглядит как пробел. Как...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru