모두의 프린터는 어떠한 경우에도 회원가입, 카드결제를 요구하지 않습니다.

[MFC] 문자열 분리 – Split String

C++
/**
*   SplitString
**/
void SplitString(TCHAR *strData, TCHAR *Seperator, CStringArray& arr)
{
    CString data = strData;
    int Position = 0;
    CString Token;

    Token = data.Tokenize(Seperator, Position);

    if (Token != L"") 
        arr.Add(Token);

    while (!Token.IsEmpty())
    {
        // Get next token.
        Token = data.Tokenize(Seperator, Position);

        if (Token != L"")
        {
            arr.Add(Token);
        }
    }

    data.Empty();
    Token.Empty();
}

Go나 자바스크립트, 파이썬등에선 개본으로 제공되는게 특정 문자를 기준으로 문자열의 내용을 분리하여 배열로 담아주는 함수들 일텐데 C/C++ 은 물론 MFC에서도 기본적으로 이러한 기능을 해주는 함수가 존재하지 않습니다. 그래서 일반적으로 위와 같은 식으로 문자열을 분리하고 CStringArray 같은 배열클래스로 처리를 해서 사용합니다.

%d 블로거가 이것을 좋아합니다: