Wiki Page Content

Differences between revisions 6 and 8 (spanning 2 versions)
Revision 6 as of 2010-07-15 21:52:40
Size: 2514
Editor: SheenaSmith
Comment: minor change
Revision 8 as of 2010-07-18 04:59:21
Size: 1769
Editor: SheenaSmith
Comment: remove 'draft' note
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
||<tablewidth="100%" style="color: #FF0000;" :> DRAFT||
Line 6: Line 5:
Use this function ^(macro)^ to *call the seek function pointer in an SDL_RWops structure*. Use this function to seek within an SDL_RWops data source.
Line 12: Line 11:
SDL_RWseek(ctx, offset, whence) long SDL_RWseek(SDL_RWops* context,
                long offset,
                int whence)
Line 15: Line 16:
<<Color2(green,Should there be anything to indicate a RV at the beginning of the syntax? Should the 3 params be on separate lines like a regular function even though the rest of the syntax is different? Should the following be included in the syntax section?)>>
 {{{(ctx)->seek(ctx, offset, whence)}}}
Line 19: Line 17:
||'''ctx'''||*a pointer to an SDL_RWops structure* <<Color2(green,why isn't there a pointer symbol?)>>||
||'''offset'''||*an offset in bytes^, relative to '''whence''' location^; can be negative*||
||'''context'''||a pointer to an SDL_RWops structure||
||'''offset'''||an offset in bytes, relative to '''whence''' location; can be negative||
Line 24: Line 22:
Returns the final offset in the data source. ??? Returns the final offset in the data source after the seek.
Line 27: Line 25:
*
Line 34: Line 31:
  int length;   long length;
Line 55: Line 52:
*
Line 58: Line 54:
*,,Note: ,,This is not a predefined function, just a macro that calls whatever seek function has been placed in the SDL_RWops structure.* This is not a predefined function, just a macro that calls whatever seek function has been placed in the SDL_RWops structure.
Line 61: Line 57:
||RW_SEEK_SET||0||seek from the beginning of data||
||RW_SEEK_CUR||1||seek relative to current read point||
||RW_SEEK_END||2||seek relative to the end of data||

<<Color2(green,What does the number in the center column represent? Thought it was the value you'd put in the macro but the code example suggests otherwise. Is that one of those things that we're leaving out?)>>
||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||
Line 68: Line 62:
 .[[SDL_RWclose]] (Macro) *???
 .[[SDL_RWread]] (Macro) *???
 .[[SDL_RWtell]] (Macro) ???
 .[[SDL_RWwrite]] (Macro) *???

<<Color2(green,Should the current read and write functions (not macros) be listed?)>>
 .[[SDL_RWclose]]
 .[[SDL_RWread]]
 .[[SDL_RWtell]]
 .[[SDL_RWwrite]]

SDL_RWseek

Use this function to seek within an SDL_RWops data source.

Syntax

long SDL_RWseek(SDL_RWops* context,
                long       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 source after the seek.

Code Examples

#include <stdio.h>
#include "SDL_rwops.h"

int main()
{
  long length;
  SDL_RWops *rw=SDL_RWFromFile("myfile.bin","rb");
  if(rw==NULL)
  {
    fprintf(stderr,"Couldn't open myfile.bin\n");
    return(1);
  }

  /* Seek to 0 bytes from the end of the file -- i.e. the exact end of file */
  length=SDL_RWseek(rw,0,SEEK_END);
  SDL_RWclose(rw);
  if(length<0)
  {
    fprintf(stderr,"Could not seek inside myfile.bin\n");
    return(2);
  }

  fprintf(stderr,"myfile.bin is %d bytes long\n",length);
  return(0);
}

Remarks

This is not a predefined function, just a macro that calls whatever seek function has been placed in the SDL_RWops structure.

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


CategoryAPI, CategoryIO

None: SDL_RWseek (last edited 2015-06-20 20:01:11 by PhilippWiesemann)

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit