StringCompare

INT StringCompareW(LPCWSTR String1, LPCWSTR String2)
{
    for (; *String1 == *String2; String1++, String2++)
    {
        if (*String1 == '\0')
            return 0;
    }

    return ((*(LPCWSTR)String1 < *(LPCWSTR)String2) ? -1 : +1);
}

INT StringCompareW2(LPCWSTR String1, LPCWSTR String2)
{
    while (*String1 && (*String1 == *String2))
    {
        String1++;
        String2++;
    }
    return *String1 - *String2;
}

INT StringCompareNW(LPCWSTR String1, LPCWSTR String2, SIZE_T Count)
{
    while (Count-- && *String1 && (*String1 == *String2))
    {
        String1++;
        String2++;
    }

    if (Count == (SIZE_T)-1)
        return 0;

    return *String1 - *String2;
}

Last updated