using namespace std;
int main() {
// Коды цветов
const char* colors[] = {
"\u001B[31m", // Красный
"\u001B[32m", // Зеленый
"\u001B[33m", // Желтый
"\u001B[34m", // Синий
"\u001B[35m", // Маджента
"\u001B[36m", // Голубой
};
// Печать радужного текста
for (int i = 0; i < 6; i++) { // уменьшаем до 6
cout << colors[i] << "Привет радуга" << endl;
}
// Сброс цвета
cout << "\u001B[0m" << endl;
return 0;
}
Выводится какие-то кракозябры:
╧ЁштхЄ Ёрфєур
╧ЁштхЄ Ёрфєур
╧ЁштхЄ Ёрфєур
╧ЁштхЄ Ёрфєур
╧ЁштхЄ Ёрфєур
╧ЁштхЄ Ёрфєур
А если добавить setlocale
using namespace std;
int main() { setlocale(LC_ALL, "ru_RU.UTF-8");
// Коды цветов
const char* colors[] = {
"\u001B[31m", // Красный
"\u001B[32m", // Зеленый
"\u001B[33m", // Желтый
"\u001B[34m", // Синий
"\u001B[35m", // Маджента
"\u001B[36m", // Голубой
};
// Печать радужного текста
for (int i = 0; i < 6; i++) { // уменьшаем до 6
cout << colors[i] << "Привет радуга" << endl;
}
// Сброс цвета
cout << "\u001B[0m" << endl;
return 0;
}
то-есть текст как-бы выводится, но его почему-то не видно.
Почему так? И как это исправить ?

╧ЁштхЄ Ёрфєуру Вас файл в однобайтовой кодировке cp1251 (ANSI). Эти константы в UTF-8 не выведутся. Попробуйте сохранить код в utf-8, может быть получится. А по поводу вывода русского вот тут полный разбор https://ru.stackoverflow.com/questions/459154/%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9-%D1%8F%D0%B7%D1%8B%D0%BA-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8. – Alex Titov Mar 25 '24 at 16:24