Sprawdzanie czy string składa się z angielskich znaków

0

Nie mogę znaleźć nigdzie informacji, czy istnieje funkcja (w C++), która sprawdzi, czy string składa się tylko i wyłącznie z liter angielskich (wielkość nie istotna).

0

co znaczy angielskich? a-z?

bool isEnglishWord(const char *str)
{
    for(int i=0; i<strlen(str); ++i)
    {
        char c = str[i] ;
        if(c<'A' || c>'z' || (c>'Z' && c<'a'))
        {
            return 0 ;
        }
    }
    return 1 ;
}

??

0

Nie ma takiej funkcji, można sobie taką bez problemów napisać

bool IsEn(const string &input)
{
    bool isOk = true;
    for(size_t i = 0; i < input.length(); i++)
    {
        if(input[i] < 'A' || (input[i] > 'Z' && input[i] < 'a') || input[i] > 'z')
        {
            isOk = false;
            break;
        }
    }

    return isOk;
}

//spóźniłem się ;)

0

Dzięki, chciałem po prostu wiedzieć czy jest. Napisać samemu umiem, ale gdyby była to wiadomo, że byłaby lepsza

0

co znaczy angielskich? a-z?
naïve, reënact, café — to jest jak najbardziej poprawna angielska pisownia, choć wersje bez kropeczek są częściej spotykane (ale pisownia café jest raczej dość częsta)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0