textcolor() и textbackground() в C

У меня есть проект с использованием C (компилятор, я думаю, я использую это Turbo C++ 3.0). Я использовал некоторые textcolor() а также textbackground() функции для окраски текста. Когда я запускаю его в первый раз, консоль имеет обычные цвета - белый текст на черном фоне.

Когда я запускаю ее в первый раз, цвета консоли находятся в их нормальном / стандартном состоянии

Однако, когда я запускаю код во второй раз и так далее, цвет фона становится синим.

Когда я запускаю код во второй раз и так далее, цвет фона становится синим

Я использовал следующий код для вышеуказанной программы (единственный форматированный текст, используя cprintf() были текст в пурпурный и синий фон):

...
gotoxy(10, 19);
textcolor(LIGHTCYAN);
textbackground(MAGENTA);
cprintf(" A "); printf(" ");
cprintf(" F "); printf(" ");
cprintf(" G "); printf(" ");
cprintf(" K "); printf(" ");
cprintf(" Z "); printf(" ");
cprintf(" E "); printf(" ");
cprintf(" I "); printf(" ");
...

Я подозреваю, что это из-за компилятора, который я использую, но я все еще не уверен. Есть ли способ решить это?

1 ответ

Решение

После того, как вы закончите рисовать буквы, которые вы хотите иметь фон MAGENTA, вы должны сбросить цвет фона обратно на черный:

textbackground(BLACK);
Другие вопросы по тегам