目次 - SDL 3.0 API(機能別) - 標準ライブラリ - SDL_strncmp

SDL_strncmp

2つのNUL終端のUTF-8文字列の最大nバイトを比較する

ヘッダ

SDL3/SDL_stdinc.h

構文

int SDL_strncmp(const char *str1, const char *str2, size_t maxlen);

引数

const char *str1比較する1つ目の文字列. NULL不可
const char *str2比較する2つ目の文字列. NULL不可
size_tmaxlen比較する最大バイト数

戻り値

(int) str1str2「未満」のとき負の数, str1str2を「超える」とき正の数, 文字列が一致するとき0を戻す.

詳細

UTF-8の性質上, この関数は実質的には単にmaxlenバイトまたはNUL終端までバイトを比較することでUnicode文字列を比較している. またこれもUTF-8の性質上, この関数をSDL_qsort()で使用することで文字列を(おおまかに)アルファベット順に並べることもできる.

この関数はUTF-8を想定しているが, maxlenはバイト数なので注意すること. この制限がUTF-8のマルチバイトの途中だった場合, 最後の文字はオーバーフローを防ぐために1つ以上のU+FFFD(置換文字)に変換される.

maxlenは比較する最大バイト数である. 文字列がこのバイト数(またはこのバイト数以内に両方の文字列にNUL終端がある)で一致する場合, 文字列は一致するとみなされる.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_strncmp - SDL Wiki