⽐较实⽤的三个字符串处理函数(STM32串⼝)如果有漏洞,请⼤家留⾔继续修改
/*
//函数名称:复制字符串
//参数:dest字符串容器,str被复制字符串,count复制长度
//返回值:⽆
//
*/
void my_strncpy(u8 *dest, u8 *src, int count)
{
u8 *tmp = dest;
while(count) {
if ((*tmp = *src) != 0)
src++;
tmp++;
count--;
}
}
//函数名称:2字符串⽐较函数
//参数:string1待⽐较字符串  string2标准字符串 count⽐较长度
//返回值:2字符串差值
u8 my_strncmp(u8 *string1,u8 *string2,size_t count)
{
u8 res,k=1;
while(*string1!='\0'&&*string2!='\0'&&k<=count)
{
k++;
if(*string1==*string2)
{
string1++;
string2++;
}
else    break;
}
res=*string1-*string2;
return res;
}
/*
//函数名称:STM32串⼝输⼊字符串⽐较
//参数:标准字符串
//返回值:0为相同,其他值为不同
*/
char return_data(u8 *cmpstr)
{
u8  len;
u8    state=1;
u8  cmpstr2[10];
if(USART_RX_STA&0x80)
字符串比较函数实现if(USART_RX_STA&0x80)
{
len=USART_RX_STA&0x3f;
my_strncpy(cmpstr2,USART_RX_BUF,len);
state=my_strncmp(cmpstr2,cmpstr,sizeof(cmpstr));                memset(cmpstr2,0,10);
memset(USART_RX_BUF,0,10);
USART_RX_STA=0;
}
delay_ms(200);
return state;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。