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

SDL_utf8strnlen

最大nバイトのUTF-8文字列のコードポイントの数を求める

ヘッダ

SDL3/SDL_stdinc.h

構文

size_t SDL_utf8strnlen(const char *str, size_t bytes);

引数

const char *strNUL終端のUTF-8文字列. NULL不可
size_tbytes文字列の最大バイト数

戻り値

(size_t) bytesを超えないstrの長さ(NUL終端を含まないコードポイント数)を戻す.

詳細

NUL終端を含まないstrのコードポイントの数(バイト数ではない)を求める.

文字列のバイト数を求めたい場合は, SDL_strlen()の使用を検討すること.

長さのカウントはbytesバイト(コードポイント数ではない)で終了する. これは直観に反するが, 文字列バッファの全サイズを簡単に表すことができる.

この関数のUnicodeの処理は, NUL終端の任意のバイト列の文字列ではなく, 正しいUTF-8文字列を想定している. UTF-8として有効でないバイトはUnicode文字のU+FFFD(置換文字)として扱われるため, 不正または不完全なUTF-8シーケンスがいくつかの置換文字としてカウントされる可能性がある.

スレッドセーフ

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

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_utf8strnlen - SDL Wiki