#include <stdio.h>
#include <unistd.h>
#define WELCOME() printf("\033[8;15H\033[36;40m欢迎使用***系统\033[0m\n")
int main(void)
{
char core[50]={0};
char password[36] = {0};
printf("\33[2J\033[3;10H\033[;32m 工号:"); //\33[2J "清屏" //\033[3;10H "设置'工号'位置" //\033[;32m "设置'工号'字体绿色,无背景色"(此后程序所有字样都是绿色)
printf("\033[4;10H 密码:"); //\033[4;10H "设置'工号'位置"
printf("\033[3;16H");//\033[3;16H "设置'core'输入位置"
scanf("%s", core);
printf("\033[4;16H\33[8m"); //\033[4;16H "设置'password'输入位置" //\33[8m "消影:此后隐藏scanf输入的字符"
scanf("%s", password);
getchar();
printf("\033[41;32m Text this position stat\n"); //\033[;32m "设置'工号'背景色为红色,字体绿色,"(\33[8m影响了字体显示,只显示背景色)
printf("-----------------------------------------------\n"); //\33[8m影响了字体显示,只显示背景色
printf("\033[0m"); //\033[0m "清除以上所有设置,恢复正常"
printf("Restored normal\n");
WELCOME(); //宏函数
printf("\n");
printf("\n");
printf("\n");
int i=0;
for(i=1000; i>0; i--)
{
/* 功能:实现数字在同一行显示 */
/* 以下%d不加'\n', 缓存区数据无法读,数字会有卡顿现象 */
printf("\033[1A%d\033[K\n", i); //\033[1A "设置:光标上移1行" //\033[K "设置:清除从光标到行尾的内容"(如果数字从大->小显示,需要此功能)
//printf("\033[10;15H%d\033[K\n", i);/* 方式二: //\033[10;15H "指定i的显示位置" //\033[K "设置:清除从光标到行尾的内容" */
/* //方式三: 此方式最后会清除数字
printf("\033[s"); //\033[s "设置:保存光标位置"
printf("%d\033[K\n", i);
printf("\033[u"); //\033[u "设置:恢复光标位置"
*/
usleep(10000);
}
printf("\033[0m"); //\033[0m "设置:清除所有设置"
return 0;
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。