C 语言编程中在控制平台输出带颜色字体的方案 方案一 有时候为了实现在终端输出的时候字体能够带颜色,并且可以产生简单的闪烁的功能,特写了下列的代码 实现 hello world 的带颜色的输出,并且每过一秒产生一个闪烁的功能
(注:具体还得判断终端类型) CODE: #include #include #include #include int flag = 0; void sig_int(int signum) { if (flag == 1) fprintf(stderr, "\033[47;31mhello world\033[5m"); fprintf(stderr,"\033[;\033[0m"); fprintf(stderr,"\033[;\033[0m"); printf("\n"); exit(0); } int main() { int i = 0; struct sigaction sig_act; sig_act
sa_handler = sig_int; sigemptyset(&sig_act
sa_mask); sig_act
sa_flags = 0; if (sigaction(SIGINT, &sig_act, NULL) < 0) { fprintf(stderr, "signal error\n"); exit(1); } while (i++ < 10) { fprintf(stderr, "\033[;\033[s"); fprintf(stderr, "\033[47;31mhello world\033[5m"); flag = 0; sleep(1); fprintf(stderr, "\033[;\033[u"); fprintf(stderr, "\033[;\033[K"); flag = 1; sleep(1);