= SDL_GetBasePath =
Get the directory where the application was run from.
== Syntax ==
char* SDL_GetBasePath(void);
== Return Value ==
Returns an absolute path in UTF-8 encoding to the application data
directory. NULL will be returned on error or when the platform doesn't
implement this functionality, call [[SDL_GetError]]() for more information.
== Remarks ==
This is not necessarily a fast call, so you should call this once near
startup and save the string if you need it.
'''Mac OS X and iOS Specific Functionality''': If the application is in a
".app" bundle, this function returns the Resource directory (e.g.
MyApp.app/Contents/Resources/). This behaviour can be overridden by adding
a property to the Info.plist file. Adding a string key with the name
[[SDL_FILESYSTEM_BASE_DIR_TYPE]] with a supported value will change the
behaviour.
Supported values for the [[SDL_FILESYSTEM_BASE_DIR_TYPE]] property (Given
an application in /Applications/SDLApp/MyApp.app):
* resource
: bundle resource directory (the default). For example: /Applications/SDLApp/MyApp.app/Contents/Resources
* bundle
: the Bundle directory. For example: /Applications/SDLApp/MyApp.app/
* parent
: the containing directory of the bundle. For example: /Applications/SDLApp/
The returned path is guaranteed to end with a path separator ('\' on
Windows, '/' on most other platforms).
The pointer returned is owned by the caller. Please call [[SDL_free]]() on
the pointer when done with it.
== Version ==
This function is available since SDL 2.0.1.
== Code Examples ==
char *data_path = NULL;
void InitializeDataPath() {
char *base_path = SDL_GetBasePath();
if (base_path) {
data_path = base_path;
} else {
data_path = SDL_strdup("./");
}
}
== Related Functions ==
:[[SDL_GetPrefPath]]
----
[[CategoryAPI]], [[CategoryFilesystem]]