求字符串中最长连续数字子串的长度

    给定一个字符串,由数字和字母组成,求出由数字构成的子串中最长的子串的长度。

例如,输入:ab12345678bc345ef

            输出:8


int FindMaxNumString(const char* str)
{
	unsigned int result = 0;
	if (!str) return 0;

	unsigned int curMax = 0;
	unsigned int maxLength = 0;
	const char* pStr = str;
	bool start = false;

	while (*pStr)
	{
		if (isdigit(*pStr))
		{
			start = true;
		}
		else
		{
			start = false;
			if (curMax > maxLength) maxLength = curMax;
			curMax = 0;
			pStr++;
		}

		while(isdigit(*pStr) && start)
		{
			curMax++;
			pStr++;
		}
	}

	if (curMax && curMax > maxLength) maxLength = curMax;

	return maxLength;
}


你可能感兴趣的:(求字符串中最长连续数字子串的长度)