//mPara为代入的M8X20,M16等。函数要返回M000008X000020,M000016等。
CString DeelNumberString(CString mPara)
{
    CString TotalText;
    int i=0;//这里如何写,我是新手。            return TotalText;
}

解决方案 »

  1.   

    int nPos1 = mParam.Find("X");
    if(nPos1 > 0)
    {
    CString FirstString = mParam.Mid(1, nPos1 - 1); //取出8
    CString SendString = mParam.Mid(nPos); //取出16
    TotalText.Format("M%08sX%08s", FirstString, SecondString);
    }
    else
    {
    CString FirstString = mParam.Mid(1);
    TotalText = "M"+FirstrString;
    }
      

  2.   

    楼上高手:
    还有B-M14X1.5-7弄成B-M000014X000001.000005-000007
      G3/8"-6.5弄成   G000003/000008"-000006.000005
    要处理的串没有规律,只弄连在一起的整数。
      

  3.   

    int Position1 = 1;
    int Position2 = mParam.FindOneOf("+-*/.");
    CString TotalText = "M";
    CString tmp;
    while(Position2 > 0)
    {
       char a = mParam.GetAt(Position2);
       tmp.Format("%06s%c", mParam.Mid(Postion1, Positoin2 - 1))
       nPosition1 = nPosition2;
       TotalText += tmp;
       mParam = mParam.Mid(nPosition2);
       nPosition2 = mParam.("+-*/.");
    }
    tmp = mParam.Mid(nPosition1);
    tmp.Format("%06s");
    TotalText += tmp;//感觉还是用strtok简单一些,http://msdn2.microsoft.com/en-us/library/2c8d19sb(VS.80).aspx