File: al_cstr.3

package info (click to toggle)
allegro5 2%3A5.0.10-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 14,856 kB
  • ctags: 15,948
  • sloc: ansic: 87,540; cpp: 9,693; objc: 3,491; python: 2,057; sh: 829; makefile: 93; perl: 37; pascal: 24
file content (37 lines) | stat: -rw-r--r-- 1,148 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.TH al_cstr 3 "" "Allegro reference manual"
.SH NAME
.PP
al_cstr \- Allegro 5 API
.SH SYNOPSIS
.IP
.nf
\f[C]
#include\ <allegro5/allegro.h>

const\ char\ *al_cstr(const\ ALLEGRO_USTR\ *us)
\f[]
.fi
.SH DESCRIPTION
.PP
Get a \f[C]char\ *\f[] pointer to the data in a string.
This pointer will only be valid while the ALLEGRO_USTR(3) object is not
modified and not destroyed.
The pointer may be passed to functions expecting C\-style strings, with
the following caveats:
.IP \[bu] 2
ALLEGRO_USTRs are allowed to contain embedded NUL (\[aq]\[aq]) bytes.
That means \f[C]al_ustr_size(u)\f[] and \f[C]strlen(al_cstr(u))\f[] may
not agree.
.IP \[bu] 2
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 \f[I]not\f[] be NUL terminated.
.IP \[bu] 2
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.
.SH SEE ALSO
.PP
al_ustr_to_buffer(3), al_cstr_dup(3)