SDL Wiki
(This is the documentation for SDL3, which is under heavy development and the API is changing! SDL2 is the current stable version!)


Use this function to create a new SDL_RWops structure for reading from and/or writing to a named file.


SDL_RWops* SDL_RWFromFile(const char *file, const char *mode);

Function Parameters

file a UTF-8 string representing the filename to open
mode an ASCII string representing the mode to be used for opening the file.

Return Value

Returns a pointer to the SDL_RWops structure that is created, or NULL on failure; call SDL_GetError() for more information.


The mode string is treated roughly the same as in a call to the C library's fopen(), even if SDL doesn't happen to use fopen() behind the scenes.

Available mode strings:

NOTE: In order to open a file as a binary file, a "b" character has to be included in the mode string. This additional "b" character can either be appended at the end of the string (thus making the following compound modes: "rb", "wb", "ab", "r+b", "w+b", "a+b") or be inserted between the letter and the "+" sign for the mixed modes ("rb+", "wb+", "ab+"). Additional characters may follow the sequence, although they should have no effect. For example, "t" is sometimes appended to make explicit the file is a text file.

This function supports Unicode filenames, but they must be encoded in UTF-8 format, regardless of the underlying operating system.

As a fallback, SDL_RWFromFile() will transparently open a matching filename in an Android app's assets.

Closing the SDL_RWops will close the file handle SDL is holding internally.


This function is available since SDL 3.0.0.

Code Examples

SDL_RWops *file = SDL_RWFromFile("myimage.bmp", "rb");
SDL_Surface *image = SDL_LoadBMP_RW(file, 1); /* 1 to automatically close the RWops. */
/* Do something with image here. */

CategoryAPI, CategoryIO

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.