新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 幾個C語言的好函數(shù)

幾個C語言的好函數(shù)

作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
判斷回文
int isReverseStr(char * aStr) 在主函數(shù)判斷返回值
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)){//假如不相等 就進(jìn)入。
found=0;
break;
}
return found;
}
//去除后面的零,并給出除零外的長度 可以用打印函數(shù)調(diào)用
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);
}
//根據(jù)上題 的打印函數(shù)(51單片機(jī)串口接打印GP5860iii)
void print( unsigned char *buf,unsigned char len )
{
ES = 0 ;
for( ; len > 0 ; len -- )
{
SBUF = *buf ;
while( !TI )
{
;
}
TI = 0 ;
buf ++ ;
}
ES = 1 ;
}
//把數(shù)字轉(zhuǎn)成16禁止
for (i = 0;i<10;i++)
{
string[i*2] = IdInfo.workernum[i]>>4;
string[i*2 +1] =IdInfo.workernum[i] & 0x0f;
}
//處理string[i] 的內(nèi)容放到string[j]中 如果是A開始是B結(jié)束
for (i=0,j=0;i<20;i++)
{
if (string[i] == 0x0B)
{
break; //B結(jié)束
}
else if(string[i] <0x0A)//是數(shù)字 加字符0 +0x30
{
string[j++] = string[i] + 0;
}
else if (string[i] > 0x0B)
{
string[j++] = ((string[i]<<4)|string[i+1])&0x7F;
}
}
string[j] =