-
#include <allegro5/allegro.h>
const char *al_cstr(const ALLEGRO_USTR *us)
Get a char * pointer to the data in a string. This pointer
will only be valid while the ALLEGRO_USTR(3alleg5) object is not modified
and not destroyed. The pointer may be passed to functions expecting C-style
strings, with the following caveats:
- •
- ALLEGRO_USTRs are allowed to contain embedded NUL ('\0') bytes. That means
al_ustr_size(u) and strlen(al_cstr(u)) may not agree.
- •
- An ALLEGRO_USTR may be created in such a way that it is not NUL
terminated. A string which is dynamically allocated will always be NUL
terminated, but a string which references the middle of another string or
region of memory will not be NUL terminated.
- •
- If the ALLEGRO_USTR references another string, the returned C string will
point into the referenced string. Again, no NUL terminator will be added
to the referenced string.