qfedu-c-level/lyric_analysis/srcs/console.c

57 lines
1.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdio.h>
#include <stdlib.h>
#include "./includes/console.h"
void cusor_moveto(int x, int y) //将光标移动到指定位置
{ // ESC[y;xH
printf("\033[%d;%dH", y, x); // 将光标移动到指定位置x 为横坐标y 为纵坐标,\033 为 ESC
fflush(stdout); // 刷新输出缓冲区,立即输出
}
//保存光标位置
void cusor_get_pos(void)
{ // ESC[s
printf("\033[s"); // 保存光标位置
fflush(stdout);
}
//恢复光标位置
void cusor_set_pos(void)
{ // ESC[u
printf("\033[u"); // 恢复光标位置
fflush(stdout);
}
void cusor_hide(void)
{
printf("\033[?25l"); // 隐藏光标
}
//清屏
void clear_screen(void)
{ // ESC[2J
printf("\033[2J"); // 清屏
fflush(stdout);
}
/*
COLOR_RED 红
COLOR_BLACK 黑
COLOR_GREEN 绿
COLOR_BLUE 蓝
COLOR_YELLOW 黄
COLOR_WHITE 白
COLOR_CYAN 青
COLOR_MAGENTA 洋红
*/
//设置前景颜色
void set_fg_color(int color)
{ // ESC[#m
printf("\033[%dm", color);
fflush(stdout);
}
//设置背景颜色
void set_bg_color(int color)
{ // ESC[#m
printf("\033[%dm", (color + 10));
fflush(stdout);
}