#include <stdio.h>
char *LookFor_Str(char *RxBuffer,char *RxData);
int main()
{
char *p;
p=LookFor_Str("123","2");
printf("%s\n",p);
return 0;
}
char *LookFor_Str(char *RxBuffer,char *RxData)
{
char *cp =(char *)RxBuffer;
char *s1,*s2;
if (!*RxData)
return((char *)RxBuffer);
while (*cp)
{
s1 = cp;
s2 = (char *)RxData;
while (***s2 && !(*s1 - *s2))**
s1++,s2++;
if (!*s2)
{
return cp;
}
cp++;
}
return "fail";
}
while (*s2 && !(*s1 - *s2))
s1++, s2++;
等价于
while (*s2 != '\0' && *s1 == *s2) {
s1++;
s2++;
}
这段代码的意思是比较s1
, s2
两个字符串直到s2
结尾或遇到不同的字符。