graph.h

#ifndef _GRAPH_
#define _GRAPH_
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>

/*NSI控制码(高亮,下划线,闪烁,光标位置,清屏等)
给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。

颜色:
*/
#define NONE "33[m"

#define RED "33[0;32;31m"

#define LIGHT_RED "33[1;31m"

#define GREEN "33[0;32;32m"

#define LIGHT_GREEN "33[1;32m"

#define BLUE "33[0;32;34m"

#define LIGHT_BLUE "33[1;34m"

#define DARY_GRAY "33[1;30m"

#define CYAN "33[0;36m"

#define LIGHT_CYAN "33[1;36m"

#define PURPLE "33[0;35m"

#define LIGHT_PURPLE "33[1;35m"

#define BROWN "33[0;33m"

#define YELLOW "33[1;33m"

#define LIGHT_GRAY "33[0;37m"

#define WHITE "33[1;37m"

/*
比如:

printf("33[31m ####-----&gt;&gt; 33[32m" "hello " "33[m")

int main()

{

printf( CYAN "current function is %s " GREEN " file line is %d " NONE,

__FUNCTION__, __LINE__ );

fprintf(stderr, RED "current function is %s " BLUE " file line is %d " NONE,

__FUNCTION__, __LINE__ );

return 0;

}
*/

/*颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:

背景色 字体色

40: 黑 30: 黑

41: 红 31: 红

42: 绿 32: 绿

43: 黄 33: 黄

44: 蓝 34: 蓝

45: 紫 35: 紫

46: 深绿 36: 深绿

47: 白色 37: 白色

记得在打印完之后,把颜色恢复成NONE,不然再后面的打印都会跟着变色。
*/
//另外,还可以加一些ANSI控制码。加颜色只是以下控制码中的一种:

#define CLOSE "33[0m" //关闭所有属性

#define HIGH "33[1m" //设置高亮度

#define LINE "33[4m" //下划线

#define LIGHT "33[5m" //闪烁

#define F1 "33[7m" //反显

#define F2 "33[8m" //消隐

#define fore1 "33[30m"
#define fore2 "33[31m"
#define fore3 "33[32m"
#define fore4 "33[33m"
#define fore5 "33[34m"
#define fore6 "33[35m"
#define fore7 "33[36m"
#define fore8 "33[37m"
#define bw "33[0;30;47"
//数据显示
#define m1 "33[1;37;46m"//主标题显示
#define m2 "33[1;30;43m"//横项目栏
#define m3 "33[1;30;46m"//纵项目栏
#define m4 "33[0;36;47m"//内容显示
#define m5 "33[0;30;47m"//买票信息字体
//主界面
#define s1 "33[1;37;46m"//主界面主标题
#define s2 "33[1;30;42m"//主界面通知栏主字体
#define s3 "33[0;31;43m"//主界面通知栏副字体
#define s4 "33[0;36;47m"//引导栏
#define s5 "33[1;31;47m"//引导栏警告
//33[30m -- 33[37m 设置前景色
//33[40m -- 33[47m 设置背景色

#define U "33[1A" //光标上移n行

#define D "33[1B" //光标下移n行

#define R "33[1C" //光标右移n行

#define L "33[3D" //光标左移n行
#define L1 "33[1D" //光标左移n行

#define F3 "33[0;0H" //设置光标位置

#define CLEAR "33[2J" //清屏

#define CLEAN "33[K" //清除从光标到行尾的内容

#define F4 "33[s" //保存光标位置

#define F5 "33[u" //恢复光标位置

#define F6 "33[?25l" //隐藏光标

#define F7 "33[?25h" //显示光标

//界面函数申明
extern int start_plantform(void);
extern void passenger_insert_print(passenger_p *new);
extern void view(passenger_p *box);
extern void out(void);
extern void help(void);


void g_number(char *str);
void g_name(char *str);
void g_staddr(char *str);
void g_arraddr(char *str);
void g_date(char *str);
void g_type(char *str);
void g_seat(char *str);
void g_mark(char mark);
void g_statime(char *str);
void g_arrtime(char *str);
void g_value(char *str);

#endif

原文地址:https://www.cnblogs.com/feige1314/p/7402115.html