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

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

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

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

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

Всем добрый вечер!
Небольшой ступор
Пытаюсь в консоли вывести символ - 156
Это символ фунта (денежная единица).
C++
1
2
3
4
#include <iostream>
....
cout << '\x9C' << endl;
....
Прямо скажу не совсем получается.
Все время выводит '?'. Почему так происходит?
Как можно решить данную проблему???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 20:49     Вывод символа из таблицы ASCII
Посмотрите здесь:
C++ Вывод символа в ASCII
Вывод символа ASCII на консоли C++
C++ Вывод символа слева и его соответствующего кода ASCII справа
Если номер элемента массива равен ASCII-коду символа текста, инкрементировать элемент (файловый ввод/вывод) C++
C++ Преобразование символа в ASCII код
C++ Вывести ascii код символа
Перевод символа в ASCII и запись в массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
01.08.2013, 20:53     Вывод символа из таблицы ASCII #2
Подключите библиотеку
C++
1
#include <windows.h>
Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118
01.08.2013, 20:58  [ТС]     Вывод символа из таблицы ASCII #3
Зачем?
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
01.08.2013, 21:01     Вывод символа из таблицы ASCII #4
она отвечает за шрифт в винде
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
01.08.2013, 21:01     Вывод символа из таблицы ASCII #5
' поменяйте на "
' - в паскале.
" - в с++
Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118
01.08.2013, 21:05  [ТС]     Вывод символа из таблицы ASCII #6
Ничего из предложенных вариантов не помогает.
Кавычки тут тем более не при чем.
" " - если строка
' ' - если символ
Я так предполагаю что на C++
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
01.08.2013, 21:10     Вывод символа из таблицы ASCII #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;
}
где а - необходимый символ
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 21:41     Вывод символа из таблицы ASCII #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 ;
}
Миниатюры
Вывод символа из таблицы ASCII  
Dr_Quake
Заблокирован
01.08.2013, 21:45     Вывод символа из таблицы ASCII #9
Bugrimov, вероятно у тебя locale utf8 - при конверсии так и будет. Выбери любую 8битную локаль для такого через setlocale для gcc и компании. Для виндовых и виндовой консоли всё чуть сложнее, но как раз там 866 по дефолту.
zer0mail
2323 / 1949 / 192
Регистрация: 03.07.2012
Сообщений: 6,996
Записей в блоге: 1
01.08.2013, 21:57     Вывод символа из таблицы ASCII #10
1.Вообще-то 156 - это не код фунта, а терминатор строки.
2.Код фунта 163 (A3)
3.Код фунта стоит на 156-й позиции в кодовой странице 437, а в России консоль по-умолчанию использует 866 страницу, в которой фунта вообще нет и было бы удивительно , если бы он там был
Dr_Quake
Заблокирован
01.08.2013, 22:03     Вывод символа из таблицы ASCII #11
Кстати да, в 866 там как раз есть символ, и в 1251 тоже - русский г и что-то ещё. А вот в ASCII там умляуты, тем не менее консоль пишет ?, что-то я удивлён, пойду покопаю, но это точно баг конверсии.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 22:22     Вывод символа из таблицы ASCII
Еще ссылки по теме:
C++ ASCII код последного символа в слове
Объясните программу по переводу символа в ASCII-код C++
C++ Получить три любых символа и напечатать по возрастанию их ASCII-коды
C++ Вывести ASCII–код символа в десятичном, восьмеричном и шестнадцатеричном виде
Ascii код символа при дешифровании на еденицу меньше чем должен быть C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 22:22     Вывод символа из таблицы ASCII #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 ;
}
Миниатюры
Вывод символа из таблицы ASCII  
Yandex
Объявления
01.08.2013, 22:22     Вывод символа из таблицы ASCII
Ответ Создать тему
Опции темы

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