Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 13.09.2016
Сообщений: 9
1

Вывести на консоль русские буквы, используя ASCII-коды

28.09.2016, 19:24. Просмотров 2817. Ответов 6

С англ и т.д. всё работает нормально, но как только пытаюсь вытащить код символа русской буквы, так VS2013 выдает отрицательное значение.
Например, код символа А (русская) в ASCII таблице 128, но VS пишет что -64

И наоборот, если вытаскиваю символ по коду, тот же 128, то VS говорит что это левый символ, например, в данном случае знак ?

Пытался использовать разные средства руссификации, ничего не помогает (setlocale/1251)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Rus");
    cout << "128 элемент ASCII это А    " << char(128) << endl;
    cout << "Код символа А    " << int('А')<<endl;
    system("pause");
    return 0;
}
Заранее спасибо
0
Миниатюры
Вывести на консоль русские буквы, используя ASCII-коды  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2016, 19:24
Ответы с готовыми решениями:

ASCII коды переводит на русские буквы
Пишут значит cout&lt;&lt;char(197); А мне буквы выводит а не символ,тот который надо.Что делать?

Вывести все русские строчные буквы в порядке следования их кодов в таблице ASCII
вывести все русские строчные буквы в порядке следования их кодов в таблице ASCII

Вывести на печать в алфавитном порядке буквы, входящие в Вашу фамилию, но не входящее в Ваше имя, и их ASCII-коды
Задача должна быть решена с использованием типа данных Множество. Вывести на печать в...

Ввести коды ASCII N символов. Выбрать из них и вывести только коды цифр
Нужна помощь с заданием: Ввести коды ASCII N символов. Выбрать из них и вывести только коды цифр. ...

6
3168 / 1927 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
28.09.2016, 20:29 2
Используйте беззнаковый тип (unsigned char).
1
0 / 0 / 0
Регистрация: 13.09.2016
Сообщений: 9
28.09.2016, 20:54  [ТС] 3
Так мне нужно соответствие ASCII таблице, а не костыли. Я с таким же успехом модуль могу применять. И 128 символ от этого А не станет тоже.
0
6909 / 5974 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
28.09.2016, 21:13 4
setlocale() делает трансляцию. Или убери, или указывай коды в кодировке 1251.
0
2572 / 2188 / 233
Регистрация: 03.07.2012
Сообщений: 7,896
Записей в блоге: 1
28.09.2016, 21:24 5
128 символ - это 'A' в DOS кодировке
Код русской А (в Win-1251) = 192 (или -64, если используется знаковый char, т.к. 192-256=-64)
Напиши хотя бы так:
C
1
cout << "Код символа А?  64:"<<char(64)<<" 128:"<<char(128)<<" 192:"<<char(192)<<" -64:"<<char(-64)<<" 'A':"<<'А'<<" "<<int('А')<<endl;
Кстати - модуль успеха не принесет
1
3168 / 1927 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
28.09.2016, 22:15 6
Цитата Сообщение от TheYak73 Посмотреть сообщение
Я с таким же успехом модуль могу применять
Примените совет, который я вам дал. Костыли - это все остальное.
0
0 / 0 / 0
Регистрация: 13.09.2016
Сообщений: 9
30.09.2016, 16:44  [ТС] 7
Всем спасибо. Действительно, следовало использовать unsigned
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2016, 16:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Преобразовать буквы фамилии в соответствующие коды ASCII
Напишите программу, которая преобразует буквы вашей фамилии в соответствующие коды ASCII и выведет...

Перевести в ASCII код русские буквы
Ребят, возникла проблема перевод в ascii код русские буквы. В инетрнете нашел что надо использовать...

Нарисовать изображение (прямоугольник) используя ASCII коды
Написать программу, которая рисует прямоугольник, с помощью ASCII таблицы (ASCII код).

Подготовить числа для вывода на консоль через ASCII и вывести на консоль
В регистре eax находится число, которое нужно превратить в ASCII-код и вывести на консоль символы,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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