1. ホーム
  2. c++

[解決済み】大文字小文字を区別しない文字列比較C++【重複あり

2022-02-01 18:43:11

質問

大文字小文字を無視した比較を行う方法として、文字列を繰り返し処理する方法や、1つの いいもの には別のライブラリが必要です。これをインストールされていないかもしれない他のコンピュータに置く必要があります。これを行うために標準ライブラリを使用する方法はありますか?今、私はただ...

if (foo == "Bar" || foo == "bar")
{
cout << "foo is bar" << endl;
}

else if (foo == "Stack Overflow" || foo == "stack Overflow" || foo == "Stack overflow" || foo == "etc.")
{
cout << "I am too lazy to do the whole thing..." << endl;
}

これで、私のコードの可読性と使い勝手が劇的に改善されるかもしれません。ここまで読んでいただいてありがとうございます。

解決方法は?

strncasecmp

strcasecmp() 関数は、文字列をバイト単位で比較します。 s1 s2 大文字と小文字の区別はしない。 の場合,0より小さいか,等しいか,大きい整数を返す。 s1 よりも小さい、一致する、または大きいことがそれぞれ判明しました。 s2 .

strncasecmp() 関数も同様ですが、比較するのは n バイトの s1 s2 ...