比如 char *s ;
s="12 34 56
78 a b c
9 10 d e
id=%11% end";
strlen(s)=11 表示s指针指向的字符串长度;
sizeof(s)=4 表示s指针占多少字节!在32位系统中,指针占4个字节;
sizeof(*s)=1 表示s指针指向的类型占多少字节!即char类型占多少字节,实际中char占1个字节.
在实际情况中输出的的id值是变化的,可能是两位也可能是一位,我们想要提取出来id的值,首先找到两个%所在的位置
char *p_head=0,*p_tail=0;
while(*s!='%') //将指针移动到id值开始的位置
{ s++; }
s++;
p_head=s;
int digit=0;
while(*s!='%') //将指针移动到id值结束的位置
{ s++; }
s--;
p_tail=s;
得到id的两个数字是字符的格式
所以要转化成数字
int idvalue=0;
if(digit==1)
idvalue=*p_head-'0'; //将字符型的数字转化成数字型的数字
if(digit==2)
idvalue=(*p_head-'0')*10+(*p_tail-'0');