目次 - SDL 3.0 API(機能別) - ストレージ - SDL_GlobStorageDirectory

SDL_GlobStorageDirectory

ストレージコンテナのディレクトリツリーをフィルタを適用して列挙する

ヘッダ

SDL3/SDL_storage.h

構文

char ** SDL_GlobStorageDirectory(SDL_Storage *storage, const char *path, const char *pattern, SDL_GlobFlags flags, int *count);

引数

SDL_Storage *storageストレージコンテナ
const char *path列挙するディレクトリのパス名. NULLのときルート
const char *patternディレクトリ内のファイルに一致させるパターン. NULLも可
SDL_GlobFlagsflags検索のSDL_GLOB_*ビットフラグ
int *count戻された配列の要素数の代入先へのポインタ. NULLも可

戻り値

(char **) 成功のとき文字列の配列を戻す. 失敗のときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる. 不要になったときSDL_free()で解放する必要がある.

詳細

patternと一致しないファイルは除外される. パターンにはワイルドカード文字の*(全て一致)と?(1文字一致)が使用できる. patternがNULLの場合, フィルタは行われず全ての結果を戻す. サブディレクトリも指定できる. パスの区切り文字には'/'を使用する. ワイルドカードの*と?は区切り文字とは一致しない.

flagsにSDL_GLOB_CASEINSENSITIVEを渡すと, patternの大文字小文字を区別するようになる.

便利のため戻り値の配列の終端はNULLになっているが, countの配列の要素数には含まれていない.

passがNULLの場合, ストレージコンテナのツリーのルートの列挙と見なされる. 空の文字列の場合も同様である.

スレッドセーフ

storageオブジェクトがスレッドセーフとみなすことができれば, この関数はどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_GlobStorageDirectory - SDL Wiki