- 论坛徽章:
- 0
|
高手请进,关于终端显示的
如果是实达终端,那就没问题了。(事实上国内多数都用的是STAR终端) 把下面这段程序编译成ECHO 程序,然后:ECHO 内容 >;/dev/ttyxx 即可把信息发送到终端上了,会显示在屏幕的最上方。显示绝对不会乱,对打印的影响没有测试过。各位可以试试看。
echo.c
-------------------------------------------------------------------------------
#include "stdio.h"
#define ESC 27
#define DOT 0
#define CLR 1
#define DBT 2
P_box(x1,y1,x2,y2,fill_type)
int x1,y1,x2,y2,fill_type;
{
if(fill_type>; fill_type=8;
printf("%c!%d;%d;%d;%d;%de",ESC,x1,y1,x2,y2,fill_type);
}
set_stat(i)
int i;
{
printf("%c!0;%d]",ESC,i);
}
set_init()
{
printf("%c[/1q",ESC);
printf("%c!0;0k",ESC);
}
mv_str(x,y,string)
int x,y;
unsigned char *string;
{
int i;
int len;
len=strlen(string);
for(i=0;i<len {
if(string=='\007') {putchar(007);i++;continue;}
if(string>;0&&string<127){
printf("%c!%d;%d;%dw",ESC,x,y,string);
i++;
x+=8;
}
else{
printf("%c!%d;%d;%d;%dw",ESC,x,y,string,string[i+1]);
i+=2;
x+=16;
}
}
}
main(argc,argv)
int argc;
char *argv[];
{
if(argc<2) exit(0);
set_init();
set_stat(CLR);
P_box(0,0,630,12,5);
set_stat(DBT);
mv_str(0,0,argv[1]);
exit(0);
}
-------------------------------------------------------------------
结束。 |
|