sscanf((LPCTSTR)str,"%f%f%f",&x,&y,&z);如此即可,快给分。

解决方案 »

  1.   

    CString strx,stry,strz;
    for(int i=0;i<str.GetLength();i++)
    {
         if(','==str.GetAt(i))
              break;
         strx += str.GetAt(i);
    }
    i++; //逗号不要for(int i=0;i<str.GetLength();i++)
    {
         if(','==str.GetAt(i))
              break;
         stry += str.GetAt(i);
    }i++; //逗号不要for(int i=0;i<str.GetLength();i++)
    {
         if(','==str.GetAt(i))
              break;
         strz += str.GetAt(i);
    }x = atof(strx);
    y = atof(stry);
    z = atof(strz);
      

  2.   

    CString str("20,30,10");
    CString strTemp;
    int nBase=0;
    float fNumber[N};
    int nCount=0;
    for(int i=0;i<str.GetLength();i++)
    {
       if(Str.GetAt(i)==",")
      {
         strTemp=str.Mid(nBase,i-nBase);
         sscanf((LPCTSTR)strTemp,"%d",&fNumber[nCount]);
         nBase=i+1;
         nCount++;
      }     
    }   if(Str.GetLength()==i)
      {
         strTemp=str.Mid(nBase,i-nBase);
         sscanf((LPCTSTR)strTemp,"%d",&fNumber[nCount]);
      }     
      

  3.   

    在str里不断地Find(","),然后取子串
      

  4.   

    Alex106(红箭7)的方法最简洁了,决定全给了!