这可能吗?
我知道可以在命令提示符下使用 COLOR ##
但是在C语言中可以使用流血吗?
谢谢,
什么操作系统?你有什么终端可用?请注意,这与C无关,更不用说流血事件了。您输出一个字符串,终端可能会或可能不会选择将其解释为颜色。你必须看看如何用你的终端来做到这一点。该解决方案当然是不可移植的。支持转义序列的终端的一个这样的例子是
printf("\\x1b[1;33mThis is yellow\\x1b[m(Back to default)\n");
您可能还想寻找为有限数量的终端执行此操作的库。例如,ncurses可以在 Linux 中为您提供帮助。
如果您使用 *nix、osx 或在 Windows 上使用 cygwin msys,您的终端应该支持 Fred Larson 提到的 ANSI 序列(不确定 osx)。普通的 windows 终端没有。但是bloodshed可以使用cygwin,所以你很幸运。
这是一个例子:
#include <stdio.h>
#define BOLDMAGENTA "\033[1;35m"
#define BOLDGREEN "\033[1;32m"
int main(void) {
printf("%shello %sworld\n", BOLDMAGENTA, BOLDGREEN);
return 0;
}
请注意,这会使终端保持亮绿色,但如果您的提示设置了颜色,它将被重置。
以下是 ANSI 转义码的一些解释: http ://en.wikipedia.org/wiki/ANSI_escape_code