功能:在字符串中找出连续最长的数字串,并把这个串长度返回,同事把这个最长数字串付给 outputstr所指内存。
#include <stdio.h>
#include <string.h>#include <stdlib.h>
int continumax(char *outputstr,char *intputstr)
{
int i=0,count=0,j;
char ptr[20]={0};
char *str=(char*)malloc(sizeof(char)*50);
while(*intputstr!='\0')
{
i=0;
char*str=ptr;
while(*intputstr>='0'&&*intputstr<='9') //遍历字符串,找出数字
{
i++;
*str++=*intputstr;
intputstr++;
}
if(count<i)
{
count=i; //计算数字串长度,并cpy到outputstr
for(j=0;j<count;j++)
{
str--;
}
strcpy(outputstr,str);
}
intputstr++;
}
return count;
}
int main()
{
char *str="dsadsa12345789";
int count=0;
char outputstr[20];
count=continumax(outputstr,str);
printf("%d,%s",count,outputstr);
return 0;
}