std::cout << "blblabla... [done]" << std::endl;
Можно ли сделать [done]
другим цветом и, возможно, жирным шрифтом? Я использую Windows 7
std::cout << "blblabla... [done]" << std::endl;
Можно ли сделать [done]
другим цветом и, возможно, жирным шрифтом? Я использую Windows 7
Это зависит от того, какую ОС вы используете.
Если вы используете окна, вы хотите SetConsoleTextAttribute:
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); // Get handle to standard output
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
Вы также можете комбинировать значения.
Приложение может комбинировать переднего и заднего фона достигают разных цветов. Например, следующая комбинация приводит к яркий голубой текст на синем фоне.
FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE
Затем вы можете использовать WriteFile или WriteConsole на самом деле напишите консоль.
Да, вы просто отправляете стандартную escape-последовательность например
const char* green = "\033[0;32m";
const char* white = "\033[0;37m";
const char* red = "\033[0;31m";
double profit = round(someComplicatedThing());
std::cout << (profit < 0 ? red : (profit > 0 ? green : white))
<< "Profit is " << profit << white << std::endl;
Вы также получаете смелые против нормального, цветного фона и т.д. Страница Википедии на escape-код ANSI содержит детали, Bash -Prompt HOWTO содержит примеры.
Вы можете использовать эти крошечные библиотеки, которые я использовал лично перед. Он очень прост в использовании и интеграции со стандартными потоками. Он имеет четкую функциональность экрана консоли. Этот пример из кода, который я написал:
std::cout << con::clr; // Clear the Intro Screen
// fg means the foreground
std::cout << std::endl << std::endl << con::fg_green
<< "\t\tFile Encrypted!";
Да, вы можете использовать систему(); чтобы запускать команды с command.com, и один из них - цвет. цвет a даст вам зеленый цвет, который вы хотите. вы также можете увидеть другие цвета из цвета опции справки /?, и для смелой вещи вы можете использовать символы из диаграммы ascii для этого. например, "\n" - это новая строка.
Быстрый способ: включить #include <stdlib.h>
, а затем добавить system( "color 5B" );
перед текстом, который вы хотите. Так оно будет выглядеть так:
#include <stdlib.h>
std::cout << "blblabla..."<<std::endl;
system( "color 5B" );
std::cout<< "[done]" << std::endl;
Вы можете попробовать разные цвета: 1A, 2B, 3C, 4F...