0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 2
1

Не могу вывести unsigned char символ. Как исправить?

14.02.2016, 22:28. Показов 1477. Ответов 5
Метки нет (Все метки)

Данна задача, при помощи массива сформировать структуру лабиринта, где в качестве стен используется символ 177, а в качестве прохода используется пробел. Как это сделать через массив, я понимаю, но когда пытаюсь вывести символ 177 он отображается как \261. Что делаю не так? Может библиотеку какую-то добавить? Вот на пример так ничего не выходит:
C++
1
2
3
4
5
6
7
8
9
10
11
#include"iostream"
using namespace std;
 
int main (){
    
    unsigned char symbol=177;
    cout<<symbol<<endl;
    
    
    return 0;
}
И подскажите пожалуйста, как можно вывести пробел, через char?
p.s.: если это играет какую-то роль, то у меня Mac и все делаю через Xcode.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2016, 22:28
Ответы с готовыми решениями:

Напишите функцию bool IsDigit(unsigned char c), определяющую, является ли данный символ цифрой или нет
Я начинающий в С++, помогите пожалуйста с задачей: Напишите функцию bool IsDigit(unsigned char c),...

WinSock как передать unsigned char а не char
Делаю программу &quot;клиент&quot; для сети (консоль), для этих целей использую winsock, возникла проблема в...

Приведение типов unsigned char[2] to unsigned char [64]
Добрый день! Подскажите пожалуйста, как поступить. Есть простая функция main int main() { ...

Как конвертировать 'char *' в 'unsigned char?
Билдер выдает ошибку Unit1.cpp(226): E2034 Cannot convert 'char *' to 'unsigned char' Вопрос:...

5
2644 / 2220 / 239
Регистрация: 03.07.2012
Сообщений: 8,060
Записей в блоге: 1
14.02.2016, 22:36 2
Код 177 - он для ДОСа (досовской консоли в Windows).
0
0 / 0 / 1
Регистрация: 14.02.2016
Сообщений: 5
14.02.2016, 22:36 3
Посмотри может поможет, код строит лабиринт, со стенами и пробелами между ними...
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    // 1-условно "стенки лабиринта"
    // 2-"правильный путь, выход из лабиринта"
    // 0-"ложный путь"
    int mas[33][20] = { { 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, }, // инициализация двумерного массива
    { 1,2,1,0,0,1,0,1,2,2,2,1,1,1,1,0,0,0,0,1, },
    { 1,2,1,1,0,1,0,1,2,1,2,2,2,2,1,0,1,1,0,1, },
    { 1,2,2,2,2,2,2,1,2,1,1,1,1,2,1,0,0,1,0,1, },
    { 1,1,1,1,1,1,2,1,2,1,0,0,1,2,1,1,0,1,0,1, },
    { 1,0,0,1,0,0,2,2,2,1,1,0,0,2,0,0,0,1,0,1, },
    { 1,0,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,1,0,1, },
    { 1,0,0,0,0,0,0,0,0,1,1,1,1,2,1,0,0,0,0,1, },
    { 1,1,1,1,1,1,0,1,1,1,2,2,2,2,1,0,1,1,1,1, },
    { 1,1,0,0,0,1,0,0,1,1,2,1,1,1,1,0,0,0,0,1, },
    { 1,0,0,1,0,0,0,0,0,1,2,2,2,2,1,1,1,1,0,1, },
    { 1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,0,0,0,1, },
    { 1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,1,1,1,1, },
    { 1,2,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1, },
    { 1,2,1,0,0,0,1,2,2,2,1,0,0,0,0,0,1,1,0,1, },
    { 1,2,1,1,1,1,1,2,1,2,1,1,1,0,1,0,0,0,0,1, },
    { 1,2,1,2,2,2,1,2,1,2,2,2,1,1,1,1,1,1,1,1, },
    { 1,2,1,2,1,2,1,2,1,0,1,2,2,2,2,2,2,2,2,1, },
    { 1,2,1,2,1,2,1,2,1,0,1,1,1,1,1,1,1,1,2,1, },
    { 1,2,1,2,1,2,1,2,1,0,0,0,0,0,0,0,0,0,2,1, },
    { 1,2,1,2,1,2,2,2,1,0,1,1,1,1,1,1,0,1,2,1, },
    { 1,2,1,2,1,1,1,1,1,0,0,0,1,0,1,0,0,1,2,1, },
    { 1,2,1,2,2,1,0,0,1,1,1,0,0,0,1,0,1,1,2,1, },
    { 1,2,1,1,2,1,1,0,0,0,0,0,1,0,1,0,0,1,2,1, },
    { 1,2,1,1,2,1,0,0,1,1,1,1,1,1,1,1,1,1,2,1, },
    { 1,2,1,1,2,1,1,0,1,2,2,2,2,2,2,2,2,2,2,1, },
    { 1,2,1,1,2,1,0,0,1,2,1,1,1,1,1,1,1,1,1,1, },
    { 1,2,1,1,2,1,0,1,1,2,1,1,1,1,1,1,1,1,2,2, },
    { 1,2,1,1,2,1,0,0,1,2,1,1,2,2,2,2,2,2,2,1, },
    { 1,2,1,1,2,1,0,1,1,2,1,1,2,1,1,1,1,1,1,1, },
    { 1,2,1,1,2,1,0,0,1,2,1,1,2,1,0,0,0,1,0,1, },
    { 1,2,2,2,2,1,0,1,1,2,2,2,2,0,0,1,0,0,0,1, },
    { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, } };
    // два цикла - внутренний и внешний, осуществляющие обращение к каждому элементу массива
    for (int i = 0; i < 33; i++) //переключение по строкам
    {
        for (int j = 0; j < 20; j++)// переключение по столбцам
            if (mas[i][j] == 1)
            {
                // вывести два раза символ (номер которого 176 в таблице аски) в консоль
                cout << static_cast<char>(176);
                cout << static_cast<char>(176);
            }
            else
                cout << "  ";  // вывести два пробела
        cout << endl;
    }
    system("pause");
    return 0;
}
0
1 / 1 / 2
Регистрация: 25.05.2015
Сообщений: 33
14.02.2016, 23:02 4
Исправить можно через задание локали.

Русские шрифты в консоли
0
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 2
14.02.2016, 23:06  [ТС] 5
Цитата Сообщение от basileus Посмотреть сообщение
Исправить можно через задание локали.
Как именно?
0
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
14.02.2016, 23:06 6
Цитата Сообщение от Kolya666 Посмотреть сообщение
как можно вывести пробел, через char?
C++
1
2
unsigned char symbol = ' ';
cout << symbol << endl;
Цитата Сообщение от Kolya666 Посмотреть сообщение
у меня Mac и все делаю через Xcode
Смотри какая там кодировка в консоли, подбирай символ из этой кодировки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2016, 23:06
Помогаю со студенческими работами здесь

Преобразование unsigned short в unsigned char
Как можно преобразовать unsigned short в unsigned char ?

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор не посылает куда...

Unsigned char [n] to array<unsigned char>^
Для отправки пакета таким образом: array&lt;Byte&gt;^sendBytes = Encoding::ASCII-&gt;GetBytes( &quot;Is anybody...

Как считать в unsigned char?
Как считать число 48 в тип unsigned char? Переменные типа unsgined char могут принимать значения от...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru