1.拆分数字(数字用空格隔开)
#include<stdio.h>
void main()
{
char str[100]="123 ahdkf 345 sdhk 5 6 sdhk 7 sdfh 22 33";
char *pStr=str;
int a;
while(*pStr)
{
if(pStr == str && sscanf(pStr,"%d",&a)==1)
printf("%d ",a);
else if(*(pStr+1) && *pStr == ' ' && *(pStr+1)!=' ' && sscanf(pStr,"%d",&a)==1)
printf("%d ",a);
pStr++;
}
printf("\n");
}
2.拆分数字(字符串连续)
#include<stdio.h>
void main()
{
char str[100]="123ahdkf345sdhk56sdhk7sdf2233";
char *pStr=str;
int a;
while(*pStr!='\0')
{
if(*pStr<'0' || *pStr>'9') *pStr=' ';
pStr++;
}
pStr=str;
while(*pStr)
{
if(pStr == str && sscanf(pStr,"%d",&a)==1)
printf("%d ",a);
else if(*(pStr+1) && *pStr == ' ' && *(pStr+1)!=' ' && sscanf(pStr,"%d",&a)==1)
printf("%d ",a);
pStr++;
}
printf("\n");
}