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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.94
Bugrimov
 Аватар для Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118
01.08.2013, 20:49     Вывод символа из таблицы ASCII #1
Всем добрый вечер!
Небольшой ступор
Пытаюсь в консоли вывести символ - 156
Это символ фунта (денежная единица).
C++
1
2
3
4
#include <iostream>
....
cout << '\x9C' << endl;
....
Прямо скажу не совсем получается.
Все время выводит '?'. Почему так происходит?
Как можно решить данную проблему???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
01.08.2013, 20:53     Вывод символа из таблицы ASCII #2
Подключите библиотеку
C++
1
#include <windows.h>
Bugrimov
 Аватар для 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
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 684
01.08.2013, 21:01     Вывод символа из таблицы ASCII #5
' поменяйте на "
' - в паскале.
" - в с++
Bugrimov
 Аватар для 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
5282 / 4801 / 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
2188 / 1871 / 187
Регистрация: 03.07.2012
Сообщений: 6,661
Записей в блоге: 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++
Коды таблицы символов ASCII C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 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
Ответ Создать тему
Опции темы

Текущее время: 19:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru