关于半个字符的描述使用与判断
一个汉字是由两个字符组成,避免输出时乱码,可以先判断传进来的字符是否为半个字符,代码如下:
int half_chn(char *info, int len)
{
int i;
for(i=0; i<len; )
{
if(info[i] >= 0x80)
i += 2;
else
i++;
}
if(i == len)
return 0;
else
return 1;
}
实现汉字在屏幕上滚动代码如下:
void ShowCharaScrol(void)
{
// char str[] = "你倾慕山与水,也美不过我半生无悔";
char str[] = "过了很久终于我愿抬头看,你就在对岸等我勇敢。让我再看你一遍,从南到北";
// char ptr[30] = {0};
char dest[100] = {0};
char *space = " ";
unsigned int i,j;
while(1)
{
for(i=0;i<strlen(str);i++)
{
// system("cls");
for(j=0;j<=strlen(str)/2;j++)
{
if(half_chn(str, strlen(str)) != 1)
{
strcpy(dest,str+j*2);
// sprintf(dest,"%s ",str+j*2);
strcat(dest,space);
strncat(dest,str,j*2);
printf("%s",dest);
memset(dest,0,strlen(dest));
Sleep(500);
system("cls");
}
// system("cls");
}
// Sleep(500);
// printf("\n");
}
}
}
结果如下所示:

本文介绍了如何在C语言中实现汉字字符串在屏幕上滚动显示,关键在于处理半个字符的问题,以防止乱码。代码示例提供了判断和处理半个字符的方法。
4750





