调试了好久,终于出来了。把自己的成果保存下来
INT strLength = string.GetLength();
INT num = 0;
INT INTnum = 0;
for (INT i=0; i<strLength; i++)
{
TCHAR cTmp = string.GetAt(i);
if(cTmp>47 && cTmp<58)
num = (num*10)+atoi(&cTmp);
}
num+=m_nJumpStep;
TCHAR tmpC[20];
itoa(num,tmpC,10);
for(INT i = 0; i<20; i++)
{
//数字个数
if(tmpC[i]>47 && tmpC[i]<58)
INTnum++;
}
INT j=0;
for (INT i = strLength-1; i>=0; i--)
{
TCHAR cTmp = string.GetAt(i);
if(cTmp>47 && cTmp<58)
{
string.SetAt(i,tmpC[INTnum-1-j]);
if(++j >= INTnum)
break;
}
}
备注:
关键要处理的几个问题:
一.字符串开头有0
二.有进位