SYNOPSIS

  • #include <allegro5/allegro.h>
    
    const char *al_cstr(const ALLEGRO_USTR *us)
    
    

DESCRIPTION

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:

\[bu]

ALLEGRO_USTRs are allowed to contain embedded NUL (\[aq]\[aq]) bytes. That means al_ustr_size(u) and strlen(al_cstr(u)) may not agree.

\[bu]

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.

\[bu]

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.

RELATED TO al_cstr…

al_ustr_to_buffer(3alleg5), al_cstr_dup(3alleg5)