CString 字符串拆分

拆分的基本思想就是反复使用CString::find("");CString::left(void);CString::right()三个函数。下面是一个本人应用的实例:

CString str = "3;1.000,1.000,50.000;2.000,2.000,60.000;4.000,4.000,70.000;";

 //获取第一个字符(数据个数)
 int length = str.Find(";");
 CString temp;
 CString lengthPointStr = str.Left(length);
 int tempInt = atoi(lengthPointStr.GetBuffer(lengthPointStr.GetLength()));

    //将各个用“;”隔开的数据放置在strPoint[]内
 CString *strPoint = new CString[tempInt];
 str = str.Right(str.GetLength()-length-1);
 for (int i=0;i {
  length = str.Find(";");
  strPoint[i] = str.Left(length);
  str = str.Right(str.GetLength()-length-1);
 }

 
 //各数据内部的全部属性值放置在strAtrr二维数组内
 CString (*strAtrr)[3] = new CString[tempInt][3];
 int j,k;
 for (j=0;j {
  for(k=0;k<2;k++){
  length = strPoint[j].Find(",");
  strAtrr[j][k] = strPoint[j].Left(length);
  strPoint[j] = strPoint[j].Right(strPoint[j].GetLength()-length-1);
  }
  strAtrr[j][k]=strPoint[j];
 }

 /***************完毕*********************/
 //释放堆内存
 delete []strPoint;
 delete  []strAtrr;

你可能感兴趣的:(VC++)