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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.94
Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118
#1

Вывод символа из таблицы ASCII - C++

01.08.2013, 20:49. Просмотров 5695. Ответов 11
Метки нет (Все метки)

Всем добрый вечер!
Небольшой ступор
Пытаюсь в консоли вывести символ - 156
Это символ фунта (денежная единица).
C++
1
2
3
4
#include <iostream>
....
cout << '\x9C' << endl;
....
Прямо скажу не совсем получается.
Все время выводит '?'. Почему так происходит?
Как можно решить данную проблему???
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 20:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод символа из таблицы ASCII (C++):

Вывод символа в ASCII - C++
При вводе сообщения программа должна символ переводить в число из таблицы ASCII, т.е. вместо буквы А должно выдать 192, Б - 193 и т.д. ...

Вывод символа ASCII на консоли - C++
Доброго времени суток! Уважаемые форумчане, помогите справиться с проблемкой. Хочу вывести на консоль символ из таблицы ASCII, но вместо...

Вывод символа слева и его соответствующего кода ASCII справа - C++
Собственно вопрос как это сделать?

Если номер элемента массива равен ASCII-коду символа текста, инкрементировать элемент (файловый ввод/вывод) - C++
задача с частотным анализом. создаю массив из 256 элементов, значения которых равны нулю. считываю построчно текст из файла. если...

Преобразование символа в ASCII код - C++
как это реализовать ? Добавлено через 4 минуты все, уже разобрался вот ... int1=int(ch); ...

Вывести ascii код символа - C++
На самом деле я немного в ступоре, но почему код выводит число 99, а не 11? #include &lt;iostream&gt; using namespace std; int main() ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
01.08.2013, 20:53 #2
Подключите библиотеку
C++
1
#include <windows.h>
0
Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118
01.08.2013, 20:58  [ТС] #3
Зачем?
0
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
01.08.2013, 21:01 #4
она отвечает за шрифт в винде
0
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
01.08.2013, 21:01 #5
' поменяйте на "
' - в паскале.
" - в с++
0
Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118
01.08.2013, 21:05  [ТС] #6
Ничего из предложенных вариантов не помогает.
Кавычки тут тем более не при чем.
" " - если строка
' ' - если символ
Я так предполагаю что на C++
0
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
01.08.2013, 21:10 #7
а ты уверен в значении? Я использую такую конструкцию:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main()
{
    unsigned char a;
    a=165;
    cout << a << endl;
    return 0;
}
где а - необходимый символ
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 21:41 #8
Цитата Сообщение от Bugrimov Посмотреть сообщение
Вывод символа из таблицы ASCII
156 - это разве ASCII ?


C++
1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
using namespace std ;
 
 
int main ()
{
    
    cout << (char)0x26 << endl;
   
    return 0 ;
}
0
Миниатюры
Вывод символа из таблицы ASCII  
Dr_Quake
Заблокирован
01.08.2013, 21:45 #9
Bugrimov, вероятно у тебя locale utf8 - при конверсии так и будет. Выбери любую 8битную локаль для такого через setlocale для gcc и компании. Для виндовых и виндовой консоли всё чуть сложнее, но как раз там 866 по дефолту.
0
zer0mail
2334 / 1960 / 192
Регистрация: 03.07.2012
Сообщений: 7,030
Записей в блоге: 1
01.08.2013, 21:57 #10
1.Вообще-то 156 - это не код фунта, а терминатор строки.
2.Код фунта 163 (A3)
3.Код фунта стоит на 156-й позиции в кодовой странице 437, а в России консоль по-умолчанию использует 866 страницу, в которой фунта вообще нет и было бы удивительно , если бы он там был
0
Dr_Quake
Заблокирован
01.08.2013, 22:03 #11
Кстати да, в 866 там как раз есть символ, и в 1251 тоже - русский г и что-то ещё. А вот в ASCII там умляуты, тем не менее консоль пишет ?, что-то я удивлён, пойду покопаю, но это точно баг конверсии.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 22:22 #12
Цитата Сообщение от zer0mail Посмотреть сообщение
1.Вообще-то 156 - это не код фунта, а терминатор строки.
2.Код фунта 163 (A3)
3.Код фунта стоит на 156-й позиции в кодовой странице 437, а в России консоль по-умолчанию использует 866 страницу, в которой фунта вообще нет и было бы удивительно , если бы он там был
Тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include <Windows.h>
using namespace std;
 
int main ()
{
    SetConsoleCP(437);
    SetConsoleOutputCP(437);
   
    cout << (char)0x9C << endl;
        
    return 0 ;
}
0
Миниатюры
Вывод символа из таблицы ASCII  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 22:22
Привет! Вот еще темы с ответами:

Перевод символа в ASCII и запись в массив - C++
Добрый день! Задача: пользователь вводить строку символов, далее символы переводятся в ASCII в бинарном коде и записываются в массив...

ASCII код последного символа в слове - C++
Здраствуйте. Помогите пжл с примерной реализацией на С++ или просто на словах: как можна получить ASCII код последного символа в...

Объясните программу по переводу символа в ASCII-код - C++
В программе практически всё понятно, за исключением одной строки: while (*p1) cout &lt;&lt; (int) *p1++ &lt;&lt; ' ';. Объясните, пожалуйста. ...

Вывести ASCII–код символа в десятичном, восьмеричном и шестнадцатеричном виде - C++
Здравствуйте. Помогите пожалуйста с лабораторной... В языке С++ полный ноль, ничего не понимаю. Вот сами задания из лабы: 3. Опишите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.08.2013, 22:22
Ответ Создать тему
Опции темы

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