Цвет текста без консоли Вывод?

[Это мой первый пост. пожалуйста, не пожирай меня]

Привет, Пипс!

Я довольно новичок (всего несколько часов) в C ++

Я еще не изучал другие «Высокие» языки, я делал большинство вещей в Windows CMD,
и сейчас они довольно известны благодаря своей консоли, но отсутствие функций заставляет меня куда-то еще.

Итак, чтобы изучить C ++, я в настоящее время использую Sololearn и просто исследую, собираюсь сначала портировать несколько небольших проектов из Batch, я пока не хочу использовать графический интерфейс или расширения, и я использую CodeBlocks для создания консольных приложений.

Теперь к моей проблеме;

Я как раз собирался сделать аккуратную функцию для раскраски текста, и я изменил фрагмент (находится здесь: Источник ) в это здесь:

void colorText(string ct, int col)
{

HANDLE  hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

FlushConsoleInputBuffer(hConsole);
SetConsoleTextAttribute(hConsole, col);

cout << ct;

SetConsoleTextAttribute(hConsole, 15); //set back to black background and white text
}

Который на самом деле работает просто замечательно,
называя это с

 colorText("This my Text",12);

Например.
То есть я получаю ужасные консольные результаты, которые выглядят так:

CMD.EXE was started with the Path given above as the current Directory.
UNC-Paths aren't supported.
The Windows - Directory will be set as current Directory.

Теперь, есть ли у кого-нибудь идея, как этого избежать, используя другую технику для раскраски или приглушая окно консоли? Я также был бы признателен, если бы кто-нибудь знал, может быть, где-нибудь более профессионально изучить C ++, учебники, веб-сайты …

Я благодарен за любую помощь,

искренне

-1

Решение

GetStdHandle, вероятно, возвращает дескриптор, который несовместим с запущенной вами консолью отладки. Вызов функции один раз при запуске программы и удержание ручки может работать лучше.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]