天天看點

VC/MFC分割字元串(SplitString)傳回CStringArray

引自:

原版:

CStringArray* SplitString(CString string, char pattern)

{

CStringArray* strArray = new CStringArray();

CString strTemp;

char c;

for(int i=0;i<string.GetLength();i++)

c=string[i];

if(c==pattern)

strArray->Add(strTemp);

strTemp="";

}

else

strTemp+=c;

return strArray;

修改版(以單個字元分割)

strTemp = string;

int iPos = 0;

while(iPos != -1)

iPos = strTemp.Find(pattern);

if(iPos == -1)

break;

strArray->Add(strTemp.Left(iPos));

strTemp = strTemp.Mid(iPos+1, strTemp.GetLength());

修改版2(以多個字元分割)

CStringArray* SplitString(CString string, char pattern[])

int nPattern = strlen(pattern);

BOOL bFind = FALSE;

for(int i=0; i<string.GetLength(); i++)

c = string[i];

for(int j=0; j<nPattern; j++)

if(c == pattern[j])

if(strTemp != "")

bFind = TRUE;

bFind = FALSE;

if(bFind)

strTemp = "";

strTemp += c;

使用:

char s[] = {‘ ‘, ‘,‘, ‘\0‘};

CStringArray strPolygon = *SplitString(strTemp, s);