For example:
假設source為
<changecount attr="500">100</changecount>
sscanf(text,"%*[^>]>%[^<]",tmp); %*[^>] 就是取到第一次的>前,加上星號代表這是用不到的部份
也就是<changecount attr="500" 為止,
此時的目標變成>100</changecount>
接著%[^<] 代表</changecount>的<前 於是就剩下>100啦
再加上上面的>符號取出來的東西就是100了。
int main()
{
char text[]="1005 ";
char text2[]= "attr = \"1000\" str = \"50000\"";
double number=0;
char tmp[100];
sscanf(text,"%*[^>]>%d",&number);
printf("Himiro Test:number is %d\n",number);
//sscanf(text,"%*[^>]>%[^<]<%*[^\n]",tmp);
sscanf(text,"%*[^>]>%[^<]",tmp);
printf("Himiro Test:number is %s\n",tmp);
sscanf(text2,"%*[^\"]\"%d",&number);
printf("Himiro Test:value is %d\n",number);
//sscanf(text2,"%*[^\"]\"%[^\"][^\"]",tmp);
sscanf(text2,"%*[^\"]\"%[^\"]",tmp);   //%*[^"]"%[^"]
printf("Himiro Test:value is %s\n",tmp);
}
Result:
Himiro Test:number is 1005
Himiro Test:number is 1005
Himiro Test:value is 1000
Himiro Test:value is 1000
沒有留言:
張貼留言