私の目標は、小文字と大文字と空白だけを保持することをC++の入力を検証することです。 forループなしでこれを行うことはできますか?私の現在のコードは次のとおりです。C++のみの文字と空白の入力の入力
bool validateInput()
char c;
string result;
cin >> result;
for (int i = 0; i < result.length(); i++) {
c = result.at(i);
if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == ' '))
{
return false;
}
}
}
:-)書くことが容易であるので、「私はせずにそれを行うことができますと、順番に小数点以下の値にマッピングされたアルファベットの文字を持っていない可能性があり、部分的にので、おそらくも
std::isalpha
を使用することをお勧めしますforループ? std :: string :: find_first_ofを調べます。 –問題は、文字列内のすべての文字をチェックするために何らかのループが必要であることです。 'std :: string :: find'のような関数でループやループを使う場合でも、ループが必要です。 –
'std :: isalpha'について読んでください。 CまたはC++には、そのテストが機能することを保証するものは何もありません。 –