#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char str[100]="LEDNO=1&STATUS=ON&s",tmp[25],tmp2[25]; char *t="led1off",*s="ed1off"; int i=0,length,position; printf("%s\n",t); position = t;//保护现场,保存指针位置 t++; printf("%s\n",t); if(strcmp(s,t)==0) printf("equal\n"); t = position;//还原指针位置 printf("%s\n",t); printf("str length=%d\n",strlen(str)); sscanf(str,"%[^&]",tmp);//遇到&就结束,只保存&之前的数据 while(str[i+strlen(tmp)+1]!='\0') { tmp2[i]=str[i+strlen(tmp)+1]; i++; } length = i; tmp2[length]='\0'; i=0; printf("new str:%s,ilength=%d,strlength=%d\n",tmp2,length,strlen(tmp2)); sscanf(tmp2,"%[^&]",tmp2); printf("new tmp:%s,length=%d\n",tmp2,strlen(tmp2)); printf("%s,length=%d",tmp,strlen(tmp)); return 0; } 运行结果: |
|
来自: champion_xu > 《指针》