int SDL_strcasecmp(const char *str1, const char *str2);
| const char * | str1 | 比較する1つ目の文字列. NULL不可 |
| const char * | str2 | 比較する2つ目の文字列. NULL不可 |
(int) str1がstr2「未満」のとき負の数, str1がstr2を「超える」とき正の数, 文字列が一致するとき0を戻す.
この関数は, システムロケールに関わらず多くの自然言語を大文字小文字を無視して扱うために"case-folding"として知られる技術を用いている. これは多くの文字を扱える: 例えば, ドイツ語のエスツェット(ß)と2つのASCII文字's'(ss)を一致させるなどである. 注意すべき例外もある: これはトルコ語の'i'は扱えない. 自然言語は複雑である!
この関数のUnicodeの処理は, NUL終端の任意のバイト列の文字列ではなく, 正しいUTF-8文字列を想定している. UTF-8として有効でないバイトはUnicode文字のU+FFFD(置換文字)として扱われるため, 2つの文字列の異なるバイトが同じ長さの置換文字に変換され一致する可能性がある.
この関数はどのスレッドからも安全に呼べる.