|
刚写的一小段代码,实现在屏幕中心显示一个进度。主要用的是terminfo 的一些函数,实现了清屏,移动cursor,定位显示信息。
- #include <stdio.h>
- #include <term.h>
- #include <curses.h>
- int moveto(char *cup, int x, int y)
- {
- return putp(tparm(cup,y,x));
- }
- int main()
- {
- char * cursor;
- int x,y;
- int i;
- char info[] = "cur progress is:";
- setupterm(NULL, fileno(stdout), NULL);
- cursor = tigetstr("cup");
- y = tigetnum("lines") / 2;
- x = (tigetnum("cols") - strlen(info) - 4) / 2;
- putp(tigetstr("clear"));
- moveto(cursor, x, y);
- printf("%s", info);
- fflush(stdout);
- for (i = 0; i <= 100; i++)
- {
- moveto(cursor, x + strlen(info), y);
- printf("%3d%%", i);
- fflush(stdout);
- sleep(1);
- }
- printf("\n\n\n");
- exit(0);
- }
复制代码 |
|