e.g. 123342222,转换为1121324124
利用sprintf()函数,将任意整数打印到字符串中
void ConvertStr(char * pStr, char * pOutput)
{
char * pCurrent =pStr;
char * pNext;
int nCount = 1;
int i = 0;
while (*pCurrent != '\0')
{
pNext = pCurrent + 1;
while (*pCurrent == *pNext) //相邻字符串比较
{
++nCount; //相等则继续比较下一个字符
++pNext;
}
sprintf(pOutput + strlen(pOutput), "%c%d", *pCurrent, nCount); //打印字符及其连续出现的个数到字符串中
nCount = 1; //计数归位
pCurrent = pNext; //让pCurrent指向下一次将要统计的字符
}
}