Description
A GString is similar to a standard C string, except that it grows
automatically as text is appended or inserted.
The space allocated for the string is always a power of two, so as the
string grows it will occupy 2, 4, 8, 16, 32, 64, 128 etc. characters.
Details
struct GString
struct GString
{
gchar *str;
gint len;
}; |
The GString struct contains the public fields of a GString.
The str field points to the character data.
It may move as text is added.
The len field contains the length of the string,
not including the terminating null character.
The str field is zero-terminated and so can be used as an ordinary C
string. But it may be moved when text is appended or inserted into the
string.
g_string_new ()
Creates a new GString, initialized with the given string.
g_string_sized_new ()
Creates a new GString, with enough space for dfl_size characters.
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 ()
Copies the characters from one GString into another, 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.
g_string_sprintf ()
void g_string_sprintf (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_sprintfa ()
void g_string_sprintfa (GString *string,
const gchar *format,
...); |
Appends a formatted string onto the end of a GString.
This function is is similar to g_string_sprintf() except that
the text is appended to the GString.
g_string_append ()
Adds a string onto the end of a GString, expanding it if necessary.
g_string_append_c ()
Adds a character onto the end of a GString, expanding it if necessary.
g_string_prepend ()
Adds a string on to the start of a GString, expanding it if necessary.
g_string_prepend_c ()
Adds a character onto the start of a GString, expanding it if necessary.
g_string_insert ()
Inserts a copy of a string into a GString, expanding it if necessary.
g_string_insert_c ()
Inserts a character into a GString, expanding it if necessary.
g_string_erase ()
Removes len characters from a GString, starting at position pos.
The rest of the GString is shifted down to fill the gap.
g_string_truncate ()
Cuts off the end of the GString, leaving the first len characters.
g_string_free ()
void g_string_free (GString *string,
gint free_segment); |
Frees the memory allocated for the GString.
If free_segment is TRUE it also frees the character data.
g_string_up ()
Converts a GString to upper case.
g_string_down ()
Converts a GString to lower case.