Wiki Page Content


Use this function to prepare a read-only memory buffer for use with RWops.


SDL_RWops* SDL_RWFromConstMem(const void* mem,
                              int         size)

Function Parameters


a pointer to a read-only buffer to feed an SDL_RWops stream


the buffer size, in bytes

Return Value

Returns a pointer to a new SDL_RWops structure, or NULL if it fails; call SDL_GetError() for more information.

Code Examples

char bitmap[] = {
    66, 77, 86, 2, 0, 0, 0, 0 ...
SDL_RWops *rw = SDL_RWFromConstMem(bitmap, sizeof(bitmap));
SDL_Surface *img = SDL_LoadBMP_RW(rw, 1); /* Automatically frees the RWops struct for us */
/* Do something with img... */


This function sets up an SDL_RWops struct based on a memory area of a certain size. It assumes the memory area is not writable.

Attempting to write to this RWops stream will report an error without writing to the memory buffer.

This memory buffer is not copied by the RWops; the pointer you provide must remain valid until you close the stream. Closing the stream will not free the original buffer.

If you need to write to a memory buffer, you should use SDL_RWFromMem() with a writable buffer of memory instead.

CategoryAPI, CategoryIO

None: SDL_RWFromConstMem (last edited 2015-04-26 19:16:57 by PhilippWiesemann)

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