2010년 4월 7일 수요일

C++ - MFC split

문자열을 split 하는거를 함수로 꾸며봄..

백터를 사용한다..

주의점은 getSplit(test, '|'); 호출시 2번째 TCHAR sSplit 값은 꼭 홀따옴표로 감싸야 한다..

 

 

#include <vector>
using namespace std;

 

vector<CString> getSplit(CString sText, TCHAR sSplit)
{
 vector<CString> aList;
 int iSub = 0;
 CString sResult;
 while(AfxExtractSubString(sResult, sText, iSub++, sSplit)) {

  if(sResult.GetLength() > 0) aList.push_back(sResult);
 }
 return aList;
}

 

CString test = _T("111|222|333");
vector<CString> sList;
sList = getSplit(test, _T('|'));
 
AfxMessageBox(sList[0]);

AfxMessageBox(sList[1]);

AfxMessageBox(sList[2]);

0 개의 댓글:

댓글 쓰기