Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Вьівод на консоль кириллицьі (виндоуз).

453  
  max2_2000 местный житель05.07.22 21:44
05.07.22 21:44 

а если еще и шрифт расскажете как покрасить, то будет вааще.

#1 
gendy Dinosaur05.07.22 22:46
gendy
NEW 05.07.22 22:46 
в ответ max2_2000 05.07.22 21:44

Скрипты должны быть в уникоде, тогда покажет хоть кириллицу хоть китайский

А раскраска зависит от консоли. Новомодный виндовсный терминал поддерживает раскраску. Старый смд нет

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#2 
Murr патриот06.07.22 00:43
Murr
NEW 06.07.22 00:43 
в ответ max2_2000 05.07.22 21:44

Console.BackgroundColor;

Console.ForegroundColor;

#3 
MrSanders коренной житель06.07.22 13:29
NEW 06.07.22 13:29 
в ответ gendy 05.07.22 22:46
А раскраска зависит от консоли. Новомодный виндовсный терминал поддерживает раскраску. Старый смд нет

Начиная с 10 уже да. Наконец-то мыкроштофф вернулся во времена доса :)

#4 
  max2_2000 местный житель06.07.22 21:05
NEW 06.07.22 21:05 
в ответ gendy 05.07.22 22:46
Скрипты должны быть в уникоде


забьіл упомянуть, что "скриптьі" должньі бьіть реализованьі в рамках консольного с++ приложения. имеется wchar* (L"кириллица"). где-то что-то понаходил, но или ничего не вьіводится, или вьіводятся какие-то пиковьіе тузьі.

#5 
gendy Dinosaur06.07.22 21:47
gendy
NEW 06.07.22 21:47 
в ответ max2_2000 06.07.22 21:05

Значит консольное с++ приложение должно поддерживать уникод wchar_t

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#6 
uscheswoi_82 коренной житель07.07.22 15:42
uscheswoi_82
NEW 07.07.22 15:42 
в ответ max2_2000 06.07.22 21:05, Последний раз изменено 07.07.22 15:46 (uscheswoi_82)

Вот:

#include <windows.h>
#include <iostream>
#include <io.h>
#include <fcntl.h>

using namespace std;

int wmain(int argc, wchar_t* argv[])
{
  int fgcolor = 15;
  int bgcolor = 1;
  _setmode(_fileno(stdout), _O_U16TEXT);
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (16*bgcolor)+fgcolor);
  wcout << L"Строка по русски" << endl;
  return 0;
}

Результат:

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#7 
akidervish местный житель07.07.22 15:56
NEW 07.07.22 15:56 
в ответ max2_2000 05.07.22 21:44

Лучше уж бы вы писали на украинском, чем писать "ы" как "ьi".



Каждый раз мозг выносит такие каракули читать...

#8 
  max2_2000 местный житель07.07.22 22:17
NEW 07.07.22 22:17 
в ответ uscheswoi_82 07.07.22 15:42

спасибо! с кирилицей решилось просто

int previous_translation_mode = _setmode(_fileno(stdout), _O_U16TEXT);
std::wcout << L"Testing unicode -- English -- Ελληνικά -- Español -- Ukraine: Україна" << std::endl;

а с цветами очень интересно, еще на стадии

void out(HANDLE hstdout, unsigned short v) {
char buf[200];
sprintf_s(buf, 200, "0xx", v);
SetConsoleTextAttribute(hstdout, v);
std::cout << buf << std::endl;
}

если проехаться от нуля до конца с каким-то шагом, очень интересньіе вещи наблюдаются.

#9 
  max2_2000 местный житель07.07.22 22:19
NEW 07.07.22 22:19 
в ответ akidervish 07.07.22 15:56
Лучше уж бы вы писали на украинском

тоже того мнения. но забанят поди...

Каждый раз мозг выносит такие каракули читать...

не принуждает никто. kogda-to poluchal takije imejly ot odnogo "canadza".

#10 
alex445 коренной житель07.07.22 23:16
NEW 07.07.22 23:16 
в ответ max2_2000 07.07.22 22:19

Пишите по-английски или немецки. ))

#11 
  max2_2000 местный житель08.07.22 21:34
NEW 08.07.22 21:34 
в ответ alex445 07.07.22 23:16

юнОша, почему бьі вам вместе с алкогольньім дервишем не последовать самим куда-нибудь на что-нибудь? еще под стол ходите, а уже взросльім дядям указьівать пьітаетесь, как им, куда им и каким язіьіком им писать. возвращайтесь в вашу песочницу, и там между собой решайте, где чья игрушка.

"повбивавби" (с)

#12