(1)第1种方法:

//待分隔的字符串TCHARstring1[]=_T("A,,B,c,D");//分隔符TCHARseps[]=_T(",");//每次处理结果TCHAR*token1=NULL;//中间指针TCHAR*next_token1=NULL;token1=wcstok_s(string1,seps,&next_token1);CStringstrTemp[10];INTi=0;while(token1!=NULL){TRACE(_T("%s\n"),token1);strTemp[i++]=token1;token1=wcstok_s(NULL,seps,&next_token1);}

(2)第2种方法

TCHARstring2[]=_T("1,,2,3,4");//用数组存所有结果CStringstrResult[10];//中间结果CStringstrTempResult;INTj=0;while(AfxExtractSubString(strTempResult,string2,j,',')){strResult[j]=strTempResult;j++;}TRACE(_T("%d\n"),j);

两种方法有点区别:第一种方法分隔符之间没有内容会被忽略,直接进入下一次分割。第二种方法分隔符之间没有内容会返回为空字符串。