SDL_RWseek
Use this function to 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 RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END; see Remarks for details |
Return Value
Returns the final offset in the data stream after the seek or -1 on error.
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);
}
}
Remarks
This function seeks to offset relative to whence
whence may be any of the following values:
RW_SEEK_SET |
seek from the beginning of data |
RW_SEEK_CUR |
seek relative to current read point |
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 macro that calls the SDL_RWops's seek method appropriately, to simplify application development.