如何将用户输入的颜色传递给 textcolor()?

How to pass user input color into textcolor()?

如何将用户输入的颜色传递给 conio.h 中的 textcolor() 函数?

textcolor(BLUE);
cprintf("Hello");

工作正常,但是

char c[20];
gets(c);
textcolor(c);
cprintf("Hello");

抛出一个错误。我没想到它会自己工作。那么问题来了,用户如何为要显示的文本输入颜色? 由于一些愚蠢的限制,我必须在旧的 turbo c++ 上执行此操作并且不能使用 graphics.hdos.h 等。因此使用 textcolor() 本身的解决方案会很棒。

您的代码将如下所示:

char c[20];
gets(c);

if (strcmp("BLACK",c) == 0) {textcolor(BLACK);}
else if (strcmp("BLUE",c) == 0) {textcolor(BLUE);}
else if ... more colors here ...

cprintf("Hello");

请记住 BLUE 不是字符串,它是一个等于整数值 1 的宏。gets() returns 是一个字符串,因此是 strcmp() 函数。