1

Получаю в ответ ? за место нужных символов, всё перепробовал пытаюсь сделать псевдо-графику в консоли C++. Вот код:

    printf("╔════════════╗");
    printf("║            ║");
    printf("║            ║");
    printf("╚════════════╝");

В ответ получаю:

??????????????
?            ?
?            ?
??????????????

Проблема в том что за место этих символов знаки вопроса что это может быть? Облазил форумы, нечего не помогло...

αλεχολυτ
  • 28,987
  • 13
  • 60
  • 119
artEA
  • 47
  • кодировка консоли и редактора разные. решается SetCodePage(нужное) – AlexGlebe Mar 24 '21 at 08:40
  • в–€в–€в–€в–€в–€в и дальше ешё 300+ штук) Использовал код
        ::_setmode(::_fileno(stdout), _O_U16TEXT);
        auto const & sz_message
        {
            L"█─███─█───█─███────█────█─███─█───█" L"\n"
            L"█─███─█─███─███─██─█─██─█──█──█─███" L"\n"
            L"█─█─█─█───█─███─████─██─█─█─█─█───█" L"\n"
            L"█─────█─███─███─██─█─██─█─███─█─███" L"\n"
            L"██─█─██───█───█────█────█─███─█───█" L"\n"
            L"███████████████████████████████████" L"\n"
        };
        ::std::wcout << sz_message << ::std::flush;
        ::_wsystem(L"pause");
    
    – artEA Mar 24 '21 at 09:04
  • А при этом "\xDB" коректно показывает символ, как сделать что бы было так же? – artEA Mar 24 '21 at 09:15
  • Это вы использовали код из того ответа как есть, или вставили этот фрагмент в какой-то свой код? "\xDB" как раз не должно работать. – user7860670 Mar 24 '21 at 10:13
  • 1
    Попробуйте выводить подходящие коды смволов псевдографики в cp866 (вроде бы это стандартная кодировка для виндовой консоли (cmd)) – avp Mar 25 '21 at 17:15

1 Answers1

1

##Ответ##

#include<iostream>
#include <io.h> // символы расширенные
#include <fcntl.h> // символы расширенные
using namespace std;

int main() { _setmode(_fileno(stdout), _O_U16TEXT); wprintf(L"╔════════════╗\n"); wprintf(L"║ ║\n"); wprintf(L"║ ║\n"); wprintf(L"╚════════════╝\n");

system(&quot;pause&quot;);
return 0;

}

###Немного о кодировках###

Когда-то разработчики и стандартизаторы еще не думали, что компьютеры и интернет наберут такую огромную популярность и распространенность. Собственно тогда то и возникла потребность в кодировке текста. Кодировок очень много и надобно подбирать подходящею, иначе будут кракозябры и знаки вопросов. В зависимости от кодировки, символ получает разный код.

введите сюда описание изображения