문자열(S)의 중간 위치(Offset)부터 특정 문자열(SubStr) 찾기

int __fastcall PosEx(const String &SubStr, const String &S, int Offset = 1)
{
    if (Offset <= 1) return S.Pos(SubStr);

    int i = Offset;
    int LenSubStr = SubStr.Length();
    int Len = S.Length() - LenSubStr + 1;

    while (i <= Len)
    {
        if (S[i] == SubStr[1])
        {
            int x = 1;
            while (x < LenSubStr && S[i + x] == SubStr[x + 1]) x++;
            if (x == LenSubStr) return i;
        }
        i++;
    }
    return 0;
}

+ Recent posts