Functions
g_string_new ()
GString *
g_string_new (const gchar *init);
Creates a new GString, initialized with the given string.
g_string_new_len ()
GString *
g_string_new_len (const gchar *init,
gssize len);
Creates a new GString with len
bytes of the init
buffer.
Because a length is provided, init
need not be nul-terminated,
and can contain embedded nul bytes.
Since this function does not stop at nul bytes, it is the caller's
responsibility to ensure that init
has at least len
addressable
bytes.
g_string_sized_new ()
GString *
g_string_sized_new (gsize dfl_size);
Creates a new GString, with enough space for dfl_size
bytes. This is useful if you are going to add a lot of
text to the string and don't want it to be reallocated
too often.
g_string_assign ()
GString *
g_string_assign (GString *string,
const gchar *rval);
Copies the bytes from a string into a GString,
destroying any previous contents. It is rather like
the standard strcpy() function, except that you do not
have to worry about having enough space to copy the string.
Returns
string
.
[transfer none]
g_string_vprintf ()
void
g_string_vprintf (GString *string,
const gchar *format,
va_list args);
Writes a formatted string into a GString.
This function is similar to g_string_printf() except that
the arguments to the format string are passed as a va_list.
Since: 2.14
g_string_append_vprintf ()
void
g_string_append_vprintf (GString *string,
const gchar *format,
va_list args);
Appends a formatted string onto the end of a GString.
This function is similar to g_string_append_printf()
except that the arguments to the format string are passed
as a va_list.
Since: 2.14
g_string_printf ()
void
g_string_printf (GString *string,
const gchar *format,
...);
Writes a formatted string into a GString.
This is similar to the standard sprintf() function,
except that the GString buffer automatically expands
to contain the results. The previous contents of the
GString are destroyed.
g_string_append_printf ()
void
g_string_append_printf (GString *string,
const gchar *format,
...);
Appends a formatted string onto the end of a GString.
This function is similar to g_string_printf() except
that the text is appended to the GString.
g_string_append ()
GString *
g_string_append (GString *string,
const gchar *val);
Adds a string onto the end of a GString, expanding
it if necessary.
Returns
string
.
[transfer none]
g_string_append_c ()
GString *
g_string_append_c (GString *string,
gchar c);
Adds a byte onto the end of a GString, expanding
it if necessary.
Returns
string
.
[transfer none]
g_string_append_unichar ()
GString *
g_string_append_unichar (GString *string,
gunichar wc);
Converts a Unicode character into UTF-8, and appends it
to the string.
Returns
string
.
[transfer none]
g_string_append_len ()
GString *
g_string_append_len (GString *string,
const gchar *val,
gssize len);
Appends len
bytes of val
to string
.
If len
is positive, val
may contain embedded nuls and need
not be nul-terminated. It is the caller's responsibility to
ensure that val
has at least len
addressable bytes.
If len
is negative, val
must be nul-terminated and len
is considered to request the entire string length. This
makes g_string_append_len() equivalent to g_string_append().
Returns
string
.
[transfer none]
g_string_append_uri_escaped ()
GString *
g_string_append_uri_escaped (GString *string,
const gchar *unescaped,
const gchar *reserved_chars_allowed,
gboolean allow_utf8);
Appends unescaped
to string
, escaped any characters that
are reserved in URIs using URI-style escape sequences.
Returns
string
.
[transfer none]
Since: 2.16
g_string_prepend ()
GString *
g_string_prepend (GString *string,
const gchar *val);
Adds a string on to the start of a GString,
expanding it if necessary.
Returns
string
.
[transfer none]
g_string_prepend_c ()
GString *
g_string_prepend_c (GString *string,
gchar c);
Adds a byte onto the start of a GString,
expanding it if necessary.
Returns
string
.
[transfer none]
g_string_prepend_unichar ()
GString *
g_string_prepend_unichar (GString *string,
gunichar wc);
Converts a Unicode character into UTF-8, and prepends it
to the string.
Returns
string
.
[transfer none]
g_string_prepend_len ()
GString *
g_string_prepend_len (GString *string,
const gchar *val,
gssize len);
Prepends len
bytes of val
to string
.
If len
is positive, val
may contain embedded nuls and need
not be nul-terminated. It is the caller's responsibility to
ensure that val
has at least len
addressable bytes.
If len
is negative, val
must be nul-terminated and len
is considered to request the entire string length. This
makes g_string_prepend_len() equivalent to g_string_prepend().
Returns
string
.
[transfer none]
g_string_insert ()
GString *
g_string_insert (GString *string,
gssize pos,
const gchar *val);
Inserts a copy of a string into a GString,
expanding it if necessary.
Returns
string
.
[transfer none]
g_string_insert_c ()
GString *
g_string_insert_c (GString *string,
gssize pos,
gchar c);
Inserts a byte into a GString, expanding it if necessary.
Returns
string
.
[transfer none]
g_string_insert_unichar ()
GString *
g_string_insert_unichar (GString *string,
gssize pos,
gunichar wc);
Converts a Unicode character into UTF-8, and insert it
into the string at the given position.
Returns
string
.
[transfer none]
g_string_insert_len ()
GString *
g_string_insert_len (GString *string,
gssize pos,
const gchar *val,
gssize len);
Inserts len
bytes of val
into string
at pos
.
If len
is positive, val
may contain embedded nuls and need
not be nul-terminated. It is the caller's responsibility to
ensure that val
has at least len
addressable bytes.
If len
is negative, val
must be nul-terminated and len
is considered to request the entire string length.
If pos
is -1, bytes are inserted at the end of the string.
Returns
string
.
[transfer none]
g_string_overwrite ()
GString *
g_string_overwrite (GString *string,
gsize pos,
const gchar *val);
Overwrites part of a string, lengthening it if necessary.
Returns
string
.
[transfer none]
Since: 2.14
g_string_overwrite_len ()
GString *
g_string_overwrite_len (GString *string,
gsize pos,
const gchar *val,
gssize len);
Overwrites part of a string, lengthening it if necessary.
This function will work with embedded nuls.
Returns
string
.
[transfer none]
Since: 2.14
g_string_erase ()
GString *
g_string_erase (GString *string,
gssize pos,
gssize len);
Removes len
bytes from a GString, starting at position pos
.
The rest of the GString is shifted down to fill the gap.
Returns
string
.
[transfer none]
g_string_truncate ()
GString *
g_string_truncate (GString *string,
gsize len);
Cuts off the end of the GString, leaving the first len
bytes.
Returns
string
.
[transfer none]
g_string_set_size ()
GString *
g_string_set_size (GString *string,
gsize len);
Sets the length of a GString. If the length is less than
the current length, the string will be truncated. If the
length is greater than the current length, the contents
of the newly added area are undefined. (However, as
always, string->str[string->len] will be a nul byte.)
Returns
string
.
[transfer none]
g_string_free ()
gchar *
g_string_free (GString *string,
gboolean free_segment);
Frees the memory allocated for the GString.
If free_segment
is TRUE it also frees the character data. If
it's FALSE, the caller gains ownership of the buffer and must
free it after use with g_free().
Returns
the character data of string
(i.e. NULL if free_segment
is TRUE).
[nullable]
g_string_free_to_bytes ()
GBytes *
g_string_free_to_bytes (GString *string);
Transfers ownership of the contents of string
to a newly allocated
GBytes. The GString structure itself is deallocated, and it is
therefore invalid to use string
after invoking this function.
Note that while GString ensures that its buffer always has a
trailing nul character (not reflected in its "len"), the returned
GBytes does not include this extra nul; i.e. it has length exactly
equal to the "len" member.
Returns
A newly allocated GBytes containing contents of string
; string
itself is freed.
[transfer full]
Since: 2.34
g_string_up ()
GString *
g_string_up (GString *string);
g_string_up has been deprecated since version 2.2 and should not be used in newly-written code.
This function uses the locale-specific
toupper() function, which is almost never the right thing.
Use g_string_ascii_up() or g_utf8_strup() instead.
Converts a GString to uppercase.
Returns
string
.
[transfer none]
g_string_down ()
GString *
g_string_down (GString *string);
g_string_down has been deprecated since version 2.2 and should not be used in newly-written code.
This function uses the locale-specific
tolower() function, which is almost never the right thing.
Use g_string_ascii_down() or g_utf8_strdown() instead.
Converts a GString to lowercase.
Returns
the GString.
[transfer none]
g_string_hash ()
guint
g_string_hash (const GString *str);
Creates a hash code for str
; for use with GHashTable.
Returns
hash code for str
g_string_equal ()
gboolean
g_string_equal (const GString *v,
const GString *v2);
Compares two strings for equality, returning TRUE if they are equal.
For use with GHashTable.
Returns
TRUE if the strings are the same length and contain the
same bytes