舉例子來說:對於字符串"1234abcdef1234567abcdefghijklmn",這個字串中最長的連續字符串爲“abcdefghijklmn”。
int continumax(char *outputstr,char *inputstr)
{
char maxrecord[100] = {0};
int maxlength = 0;
char currentrecord[100] = {0};
int currentlength = 0;
char value = 0;
char *p = inputstr;
while(*p++ != '\0')
{
if (value + 1 == *p)
{
value = *p;
currentrecord[currentlength] = *p;
currentlength++;
}
else
{
if (currentlength > maxlength)
{
maxlength = currentlength;
memcpy(maxrecord, currentrecord, currentlength);
}
currentlength = 0;
memset(currentrecord, 0, 100);
value = *p;
currentrecord[currentlength] = *p;
currentlength++;
}
}
if (currentlength > maxlength)
{
maxlength = currentlength;
memcpy(maxrecord, currentrecord, currentlength);
}
memcpy(outputstr, maxrecord, maxlength);
return maxlength;
}