Provided by: allegro5-doc_5.2.4.0-3_all bug

NAME

       al_cstr - Allegro 5 API

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:

       · 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.

SEE ALSO

       al_ustr_to_buffer(3alleg5), al_cstr_dup(3alleg5)