====== (This is the documentation for SDL3, which is under heavy development and the API is changing! [https://wiki.libsdl.org/SDL2/ SDL2] is the current stable version!) ====== = SDL_RWseek = Seek within an [[SDL_RWops]] data stream. == Syntax == Sint64 SDL_RWseek(SDL_RWops *context, Sint64 offset, int whence); == Function Parameters == {| |'''context''' |a pointer to an [[SDL_RWops]] structure |- |'''offset''' |an offset in bytes, relative to '''whence''' location; can be negative |- |'''whence''' |any of [[SDL_RW_SEEK_SET]], [[SDL_RW_SEEK_CUR]], [[SDL_RW_SEEK_END]] |} == Return Value == Returns the final offset in the data stream after the seek or -1 on error. == Remarks == This function seeks to byte offset, relative to whence. whence may be any of the following values: * [[SDL_RW_SEEK_SET]]: seek from the beginning of data * [[SDL_RW_SEEK_CUR]]: seek relative to current read point * [[SDL_RW_SEEK_END]]: seek relative to the end of data If this stream can not seek, it will return -1. [[SDL_RWseek]]() is actually a wrapper function that calls the [[SDL_RWops]]'s seek method appropriately, to simplify application development. Prior to SDL 2.0.10, this function was a macro. == Version == This function is available since SDL 3.0.0. == Code Examples == SDL_RWops *rw = SDL_RWFromFile("myfile.bin", "rb"); if (rw != NULL) { /* Seek to 0 bytes from the end of the file */ Sint64 length = SDL_RWseek(rw, 0, RW_SEEK_END); SDL_RWclose(rw); if (length < 0) { printf("Could not seek inside myfile.bin\n"); } else { printf("myfile.bin is %d bytes long\n", length); } } == Related Functions == :[[SDL_RWclose]] :[[SDL_RWFromConstMem]] :[[SDL_RWFromFile]] :[[SDL_RWFromMem]] :[[SDL_RWread]] :[[SDL_RWtell]] :[[SDL_RWwrite]] ---- [[CategoryAPI]], [[CategoryIO]]