c语言实现数据的滚屏显示
主要看你的数据是怎样的?
这是我以前写的。
也可先去我空间看下运行结果。
#include stdio.h
#define N 40
int printend(){
char page[5],i;
printf(“\n\nESC-exit n-nextpage l-lastpage e-endpage s-startpage jumppage :”);
i=0;
while((page[i++]=getche())!=’\r’);
page[i]=’\0′;
if(isdigit(page[0]))
return atoi(page);
else
return page[0];
}
main(){
int a,i,k;
for(i=1;i=N;i++){
printf(“\n%2d**********************”,i);
if(i%10==0){
a=printend();
k=i;
switch(a){
case ‘p’:
case ‘P’:
if(i10)
i-=20;
else
i=0;
break;
case ‘n’:
case ‘N’:
if(i=N)
i=N-10;
break;
case ‘s’:
case ‘S’:
i=0;
break;
case ‘e’:
case ‘E’:
i=N-10;
break;
case 27:
exit(0);
default:
i=a*10-10;
if(iN){
printf(“\nError ,max page is %d.”,N/10);
printf(“Press anykey to continue.”);
getch();
i=N-10;
}
break;
}
clrscr();
}
}
getchar();
}
c语言实现串口接收和数据的滚屏显示
我最近也在忙这个东西,可以使用IIC先将接收到的数据保存,然后显示的部分由单片机来完成,因为硬件部分的控制是单片机来完成的。但也要看你使作的串口发送软件的接口协议是怎么样确定,如果只是把字型的点阵发送到单片机,就可以按此种方法来做,如果是把滚屏,闪烁,速度等这样的信息也发送过来的话,那样也可以实现,但是IIC的寿命可能有限。有兴趣不访加我计论下277315924
如何用C语言制作一个可以在开始屏幕上滚动的字幕?
实现滚动字幕:
一、单行滚动,写一个函数,每次调用让全局或静态字符数组向一个方向移位(比如左移,从最右边一个非0字符开始遍历,依次覆盖左边的一个字符,最左边的字符被第二个字符覆盖,最右边一个非0位变移出的那个字符)。记得保留结束符号0。
二、之后循环打印字符数组。每次使用system(“cls”);清空控制台显示。
三、多行滚动,同理,只不过把字符移动覆盖,改成字符串移动覆盖。(移动方向的后一行覆盖前一行,把移动方向第一行内容赋值给最后一行)。
//ps:由于肉眼观察,移动需要间隔,用Sleep函数,但该函数会让线程停止,如滚屏间隔期间,还希望其它部分正常运行,需要写线程。
下面是参考代码:
#includestdio.h
#include windows.h
void sScreen(char str[],int len,int f);//len:内容长度,不包含结束符号。f=1向左移动。f=0向右移动;
int main()
{
char str[]=”I LOVE YOU”;
while(1)
{
printf(“%s\n”,str);
sScreen(str,10,0);
Sleep(1000);
system(“cls”);
}
return 0;
}
void sScreen(char str[],int len,int f)
{
int i;
char c;
if(f)
{
c=str[0];
for(i=0;ilen-1;i++)
str[i]=str[i+1];
str[len-1]=c;
}
if(!f)
{
c=str[len-1];
for(i=len-1;i0;i–)
str[i]=str[i-1];
str[0]=c;
}
}
C语言下如何实现字符滚动显示?
调用系统函数,system(“CLS”);清屏重新输,某一部分的话,可以用gotoxy函数,当然VC或TC没有,可以去网上找,也是利用系统API函数,希望能帮到你