新闻中心

EEPW首页>嵌入式系统>设计应用> 几个C语言的好函数

几个C语言的好函数

作者: 时间:2016-11-24 来源:网络 收藏
判断回文
int isReverseStr(char * aStr) 在主 函数判断返回值
int i,j;
int found=1;
if(aSTR==null)
return -1;
j=strlen(aStr);
for (i=0;i
if (*(aStr+i)!=*(aStr+j-i-1)){//假如不相等 就进入。
found=0;
break;
}
return found;
}
//去除后面的零,并给出除零外的长度 可以用打印函数调用
unsigned char zwwlen(unsigned char *buf,unsigned char len)
{
char i;
for (i=(len-1);i>=0;i--)
{
if (buf[i]!= 0)
break;
}
if (i<0)//如果是0输出1个0
{
i=0;
}
return (i+1);
}
//根据上题 的打印函数( 51单片机串口接打印GP5860iii)
void print( unsigned char *buf,unsigned char len )
{
ES = 0 ;
for( ; len > 0 ; len -- )
{
SBUF = *buf ;
while( !TI )
{
;
}
TI = 0 ;
buf ++ ;
}
ES = 1 ;
}
//把数字转成16禁止
for (i = 0;i<10;i++)
{
string[i*2] = IdInfo.workernum[i]>>4;
string[i*2 +1] =IdInfo.workernum[i] & 0x0f;
}
//处理string[i] 的内容放到string[j]中 如果是A开始是B结束
for (i=0,j=0;i<20;i++)
{
if (string[i] == 0x0B)
{
break; //B结束
}
else if(string[i] <0x0A)//是数字 加字符0 +0x30
{
string[j++] = string[i] + 0;
}
else if (string[i] > 0x0B)
{
string[j++] = ((string[i]<<4)|string[i+1])&0x7F;
}
}
string[j] = ;//结束符
//string[j] 里面的内容就是A 开始 B结束的全部内容
//这里打印的是string[j]的内容所以处理了A 开始B结束 掉之前的函数
print( string , 10 );
//根据模式选择消费金额
//消费金额
switch ( *(buffdata+1) )
{
case SM_REC_CON_MIX: //混合消费记录
//取出补助消费
buse = *(buffdata+11) ;
buse = (buse<<8) | *(buffdata+12) ;
buse = (buse<<8) | *(buffdata+13) ;
//取出主钱包消费金额
TempNumber = *(buffdata+18) ;
TempNumber = (TempNumber<<8) | *(buffdata+19) ;
TempNumber = (TempNumber<<8) | *(buffdata+20) ;
//计算总的消费金额
TempNumber += buse ;
break ;
default: //主钱包消费记录, 补助钱包消费记录
TempNumber = (* ( ulong * ) (buffdata+18))>>8 ;
break;
}
print( pconsum , 10 ) ;
print(string,sprintf( string, "%lu",TempNumber/100 ));
print(pdian, 1) ;
sprintf( string, "%8.3lu",TempNumber );
print( string+6 , 2 ) ;
// print( pyuan , 2 ) ;
print("x0Dx0A",2); //打印机命令 回车换行



关键词:C语言函

评论


技术专区

关闭