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つ (詳細を参照すること) |
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 2.0.10以前は, 実際にはSDL_RWopsのseekメソッドを呼ぶマクロだった.