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

# SDL_RWseek

SDL_RWopsをシークする

## 構文

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

## 引数

context | SDL_RWopsへのポインタ
offset | バイト単位のオフセット, whenceからの相対位置. 負の数の場合もある
whence | RW_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