|
날림으로 짠거라-_-부족한면이 많을겁니다.
필요한건 추가해서 사용하세요
int exploit(char *pszString, char cSpliter, char ***pppDest)
{
int nCount = 0;
char *p1, *p2, ce;
// 배열 생성할 갯수 세기
p1 = pszString;
while( *p1 ) {
if( *(p1++) == cSpliter )
nCount++;
}
// 문자열끝에 구분자가 없으면 갯수 1 증가
ce = *(p1-1);
if( ce != cSpliter )
nCount++;
*pppDest = new char *[nCount];
// 분리 (원본이 망가짐)
nCount = 0;
p1 = pszString;
p2 = strchr(p1, cSpliter);
while( p2 ) {
*(p2++) = NULL;
(*pppDest)[nCount++] = p1;
if(*p2) {
p1 = p2;
p2 = strchr(p1, cSpliter);
}
else
break;
}
if((ce != cSpliter) && *p1)
(*pppDest)[nCount++] = p1;
return nCount;
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char sNum[] = "1*72*888*93";
char **ppNums;
int nResult;
nResult = exploit(sNum, '*', &ppNums);
// 여기서 사용하고나서
for(int i = 0 ; i < nResult ; i++)
printf("%s\r\n", ppNums[i]);
delete [] ppNums; // 함수에서 생성된 내용을 삭제
return 0;
}
//---------------------------------------------------------------------------
|