目次 - API(機能別) - ファイル入出力 - SDL_RWseek

SDL_RWseek

SDL_RWopsをシークする

構文

Sint64 SDL_RWseek(SDL_RWops* context, Sint64 offset, int whence)

引数

contextSDL_RWopsへのポインタ
offsetバイト単位のオフセット, whenceからの相対位置. 負の数の場合もある
whenceRW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_ENDの1つ (詳細を参照すること)

戻り値

シーク後のオフセットを戻す. 失敗のとき-1を戻す.

サンプルコード

SDL_RWops *rw = SDL_RWFromFile("myfile.bin", "rb");
if (rw != NULL) {
    /* ファイルの最後から0バイト目へシークする */
    Sint64 length = SDL_RWseek(rw, 0, RW_SEEK_END);
    SDL_RWclose(rw);
    if (length < 0) {
        printf("myfile.binをシークできなかった\n");
    } else {
        printf("myfile.binのサイズは %d byte である\n", length);
    }
}

詳細

この関数はwhenceからの相対オフセットにシークする.

whenceは次の値の1つである:
RW_SEEK_SETデータの先頭からシークする
RW_SEEK_CUR現在の読込位置からシークする
RW_SEEK_ENDデータの末尾からシークする

シークできなかったときは-1を戻す.

SDL_RWseek()は実際にはSDL_RWopsのseekメソッドを呼ぶマクロである.

関連項目(関数)

SDL_RWclose
SDL_RWFromConstMem
SDL_RWFromFile
SDL_RWFromFP
SDL_RWFromMem
SDL_RWread
SDL_RWtell
SDL_RWwrite

SDL Wikiへのリンク

SDL_RWseek - SDL Wiki