1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7 <link rel="home" href="index.html" title="GLib Reference Manual">
8 <link rel="up" href="glib-data-types.html" title="GLib Data Types">
9 <link rel="prev" href="glib-Hash-Tables.html" title="Hash Tables">
10 <link rel="next" href="glib-String-Chunks.html" title="String Chunks">
11 <meta name="generator" content="GTK-Doc V1.13 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 <link rel="chapter" href="glib.html" title="GLib Overview">
14 <link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals">
15 <link rel="chapter" href="glib-core.html" title="GLib Core Application Support">
16 <link rel="chapter" href="glib-utilities.html" title="GLib Utilities">
17 <link rel="chapter" href="glib-data-types.html" title="GLib Data Types">
18 <link rel="chapter" href="tools.html" title="GLib Tools">
19 <link rel="index" href="api-index-full.html" title="Index">
20 <link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
21 <link rel="index" href="api-index-2-2.html" title="Index of new symbols in 2.2">
22 <link rel="index" href="api-index-2-4.html" title="Index of new symbols in 2.4">
23 <link rel="index" href="api-index-2-6.html" title="Index of new symbols in 2.6">
24 <link rel="index" href="api-index-2-8.html" title="Index of new symbols in 2.8">
25 <link rel="index" href="api-index-2-10.html" title="Index of new symbols in 2.10">
26 <link rel="index" href="api-index-2-12.html" title="Index of new symbols in 2.12">
27 <link rel="index" href="api-index-2-14.html" title="Index of new symbols in 2.14">
28 <link rel="index" href="api-index-2-16.html" title="Index of new symbols in 2.16">
29 <link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
30 <link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
31 <link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
32 <link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
34 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
35 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
37 <td><a accesskey="p" href="glib-Hash-Tables.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
38 <td><a accesskey="u" href="glib-data-types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
39 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
40 <th width="100%" align="center">GLib Reference Manual</th>
41 <td><a accesskey="n" href="glib-String-Chunks.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
43 <tr><td colspan="5" class="shortcuts">
44 <a href="#glib-Strings.synopsis" class="shortcut">Top</a>
46 <a href="#glib-Strings.description" class="shortcut">Description</a>
49 <div class="refentry" title="Strings">
50 <a name="glib-Strings"></a><div class="titlepage"></div>
51 <div class="refnamediv"><table width="100%"><tr>
53 <h2><span class="refentrytitle"><a name="glib-Strings.top_of_page"></a>Strings</span></h2>
54 <p>Strings — text buffers which grow automatically as text is added</p>
56 <td valign="top" align="right"></td>
58 <div class="refsynopsisdiv" title="Synopsis">
59 <a name="glib-Strings.synopsis"></a><h2>Synopsis</h2>
60 <pre class="synopsis">
61 #include <glib.h>
63 <a class="link" href="glib-Strings.html#GString" title="GString">GString</a>;
64 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-new" title="g_string_new ()">g_string_new</a> (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *init);
65 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-new-len" title="g_string_new_len ()">g_string_new_len</a> (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *init,
66 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);
67 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-sized-new" title="g_string_sized_new ()">g_string_sized_new</a> (<a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> dfl_size);
68 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-assign" title="g_string_assign ()">g_string_assign</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
69 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *rval);
70 #define <a class="link" href="glib-Strings.html#g-string-sprintf" title="g_string_sprintf">g_string_sprintf</a>
71 #define <a class="link" href="glib-Strings.html#g-string-sprintfa" title="g_string_sprintfa">g_string_sprintfa</a>
72 <span class="returnvalue">void</span> <a class="link" href="glib-Strings.html#g-string-vprintf" title="g_string_vprintf ()">g_string_vprintf</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
73 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
74 <span class="returnvalue">va_list</span> args);
75 <span class="returnvalue">void</span> <a class="link" href="glib-Strings.html#g-string-append-vprintf" title="g_string_append_vprintf ()">g_string_append_vprintf</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
76 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
77 <span class="returnvalue">va_list</span> args);
78 <span class="returnvalue">void</span> <a class="link" href="glib-Strings.html#g-string-printf" title="g_string_printf ()">g_string_printf</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
79 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
81 <span class="returnvalue">void</span> <a class="link" href="glib-Strings.html#g-string-append-printf" title="g_string_append_printf ()">g_string_append_printf</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
82 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
84 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-append" title="g_string_append ()">g_string_append</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
85 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);
86 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-append-c" title="g_string_append_c ()">g_string_append_c</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
87 <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> c);
88 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-append-unichar" title="g_string_append_unichar ()">g_string_append_unichar</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
89 <a class="link" href="glib-Unicode-Manipulation.html#gunichar" title="gunichar"><span class="returnvalue">gunichar</span></a> wc);
90 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-append-len" title="g_string_append_len ()">g_string_append_len</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
91 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
92 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);
93 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * <a class="link" href="glib-Strings.html#g-string-append-uri-escaped" title="g_string_append_uri_escaped ()">g_string_append_uri_escaped</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
94 const <span class="returnvalue">char</span> *unescaped,
95 const <span class="returnvalue">char</span> *reserved_chars_allowed,
96 <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> allow_utf8);
97 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-prepend" title="g_string_prepend ()">g_string_prepend</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
98 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);
99 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-prepend-c" title="g_string_prepend_c ()">g_string_prepend_c</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
100 <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> c);
101 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-prepend-unichar" title="g_string_prepend_unichar ()">g_string_prepend_unichar</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
102 <a class="link" href="glib-Unicode-Manipulation.html#gunichar" title="gunichar"><span class="returnvalue">gunichar</span></a> wc);
103 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-prepend-len" title="g_string_prepend_len ()">g_string_prepend_len</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
104 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
105 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);
106 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-insert" title="g_string_insert ()">g_string_insert</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
107 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
108 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);
109 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-insert-c" title="g_string_insert_c ()">g_string_insert_c</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
110 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
111 <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> c);
112 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-insert-unichar" title="g_string_insert_unichar ()">g_string_insert_unichar</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
113 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
114 <a class="link" href="glib-Unicode-Manipulation.html#gunichar" title="gunichar"><span class="returnvalue">gunichar</span></a> wc);
115 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-insert-len" title="g_string_insert_len ()">g_string_insert_len</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
116 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
117 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
118 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);
119 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-overwrite" title="g_string_overwrite ()">g_string_overwrite</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
120 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> pos,
121 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);
122 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-overwrite-len" title="g_string_overwrite_len ()">g_string_overwrite_len</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
123 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> pos,
124 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
125 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);
126 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-erase" title="g_string_erase ()">g_string_erase</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
127 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
128 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);
129 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-truncate" title="g_string_truncate ()">g_string_truncate</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
130 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> len);
131 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-set-size" title="g_string_set_size ()">g_string_set_size</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
132 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> len);
133 <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a>* <a class="link" href="glib-Strings.html#g-string-free" title="g_string_free ()">g_string_free</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
134 <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> free_segment);
136 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-up" title="g_string_up ()">g_string_up</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string);
137 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* <a class="link" href="glib-Strings.html#g-string-down" title="g_string_down ()">g_string_down</a> (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string);
139 <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-Strings.html#g-string-hash" title="g_string_hash ()">g_string_hash</a> (const <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *str);
140 <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Strings.html#g-string-equal" title="g_string_equal ()">g_string_equal</a> (const <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *v,
141 const <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *v2);
144 <div class="refsect1" title="Description">
145 <a name="glib-Strings.description"></a><h2>Description</h2>
147 A <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> is similar to a standard C string, except that it grows
148 automatically as text is appended or inserted. Also, it stores the
149 length of the string, so can be used for binary data with embedded
153 <div class="refsect1" title="Details">
154 <a name="glib-Strings.details"></a><h2>Details</h2>
155 <div class="refsect2" title="GString">
156 <a name="GString"></a><h3>GString</h3>
157 <pre class="programlisting">typedef struct {
164 The <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> struct contains the public fields of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
166 <div class="variablelist"><table border="0">
167 <col align="left" valign="top">
170 <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GString.str"></a>str</code></em>;</span></p></td>
171 <td>points to the character data. It may move as text is added.
172 The <em class="structfield"><code>str</code></em> field is nul-terminated and so
173 can be used as an ordinary C string.
177 <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GString.len"></a>len</code></em>;</span></p></td>
178 <td>contains the length of the string, not including the
179 terminating nul byte.
183 <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GString.allocated-len"></a>allocated_len</code></em>;</span></p></td>
184 <td>the number of bytes that can be stored in the
185 string before it needs to be reallocated. May be larger than <em class="parameter"><code>len</code></em>.
192 <div class="refsect2" title="g_string_new ()">
193 <a name="g-string-new"></a><h3>g_string_new ()</h3>
194 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_new (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *init);</pre>
196 Creates a new <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>, initialized with the given string.</p>
197 <div class="variablelist"><table border="0">
198 <col align="left" valign="top">
201 <td><p><span class="term"><em class="parameter"><code>init</code></em> :</span></p></td>
202 <td> the initial text to copy into the string
206 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
207 <td> the new <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
214 <div class="refsect2" title="g_string_new_len ()">
215 <a name="g-string-new-len"></a><h3>g_string_new_len ()</h3>
216 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_new_len (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *init,
217 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);</pre>
219 Creates a new <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> with <em class="parameter"><code>len</code></em> bytes of the <em class="parameter"><code>init</code></em> buffer.
220 Because a length is provided, <em class="parameter"><code>init</code></em> need not be nul-terminated,
221 and can contain embedded nul bytes.
224 Since this function does not stop at nul bytes, it is the caller's
225 responsibility to ensure that <em class="parameter"><code>init</code></em> has at least <em class="parameter"><code>len</code></em> addressable
227 <div class="variablelist"><table border="0">
228 <col align="left" valign="top">
231 <td><p><span class="term"><em class="parameter"><code>init</code></em> :</span></p></td>
232 <td> initial contents of the string
236 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
237 <td> length of <em class="parameter"><code>init</code></em> to use
241 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
242 <td> a new <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
249 <div class="refsect2" title="g_string_sized_new ()">
250 <a name="g-string-sized-new"></a><h3>g_string_sized_new ()</h3>
251 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_sized_new (<a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> dfl_size);</pre>
253 Creates a new <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>, with enough space for <em class="parameter"><code>dfl_size</code></em>
254 bytes. This is useful if you are going to add a lot of
255 text to the string and don't want it to be reallocated
257 <div class="variablelist"><table border="0">
258 <col align="left" valign="top">
261 <td><p><span class="term"><em class="parameter"><code>dfl_size</code></em> :</span></p></td>
262 <td> the default size of the space allocated to
267 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
268 <td> the new <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
275 <div class="refsect2" title="g_string_assign ()">
276 <a name="g-string-assign"></a><h3>g_string_assign ()</h3>
277 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_assign (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
278 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *rval);</pre>
280 Copies the bytes from a string into a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>,
281 destroying any previous contents. It is rather like
282 the standard <code class="function">strcpy()</code> function, except that you do not
283 have to worry about having enough space to copy the string.</p>
284 <div class="variablelist"><table border="0">
285 <col align="left" valign="top">
288 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
289 <td> the destination <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>. Its current contents
294 <td><p><span class="term"><em class="parameter"><code>rval</code></em> :</span></p></td>
295 <td> the string to copy into <em class="parameter"><code>string</code></em>
299 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
300 <td> <em class="parameter"><code>string</code></em>
307 <div class="refsect2" title="g_string_sprintf">
308 <a name="g-string-sprintf"></a><h3>g_string_sprintf</h3>
309 <pre class="programlisting">#define g_string_sprintf</pre>
310 <div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
311 <h3 class="title">Warning</h3>
312 <p><code class="literal">g_string_sprintf</code> is deprecated and should not be used in newly-written code. This function has been renamed to <a class="link" href="glib-Strings.html#g-string-printf" title="g_string_printf ()"><code class="function">g_string_printf()</code></a>.</p>
315 Writes a formatted string into a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
316 This is similar to the standard <code class="function">sprintf()</code> function,
317 except that the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> buffer automatically expands
318 to contain the results. The previous contents of the
319 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> are destroyed.</p>
320 <div class="variablelist"><table border="0">
321 <col align="left" valign="top">
324 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
325 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
329 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
330 <td> the string format. See the <code class="function">sprintf()</code> documentation
334 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
335 <td> the parameters to insert into the format string
342 <div class="refsect2" title="g_string_sprintfa">
343 <a name="g-string-sprintfa"></a><h3>g_string_sprintfa</h3>
344 <pre class="programlisting">#define g_string_sprintfa</pre>
345 <div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
346 <h3 class="title">Warning</h3>
347 <p><code class="literal">g_string_sprintfa</code> is deprecated and should not be used in newly-written code. This function has been renamed to <a class="link" href="glib-Strings.html#g-string-append-printf" title="g_string_append_printf ()"><code class="function">g_string_append_printf()</code></a></p>
350 Appends a formatted string onto the end of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
351 This function is similar to <a class="link" href="glib-Strings.html#g-string-sprintf" title="g_string_sprintf"><code class="function">g_string_sprintf()</code></a> except that
352 the text is appended to the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.</p>
353 <div class="variablelist"><table border="0">
354 <col align="left" valign="top">
357 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
358 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
362 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
363 <td> the string format. See the <code class="function">sprintf()</code> documentation
367 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
368 <td> the parameters to insert into the format string
375 <div class="refsect2" title="g_string_vprintf ()">
376 <a name="g-string-vprintf"></a><h3>g_string_vprintf ()</h3>
377 <pre class="programlisting"><span class="returnvalue">void</span> g_string_vprintf (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
378 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
379 <span class="returnvalue">va_list</span> args);</pre>
381 Writes a formatted string into a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
382 This function is similar to <a class="link" href="glib-Strings.html#g-string-printf" title="g_string_printf ()"><code class="function">g_string_printf()</code></a> except that
383 the arguments to the format string are passed as a va_list.</p>
384 <div class="variablelist"><table border="0">
385 <col align="left" valign="top">
388 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
389 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
393 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
394 <td> the string format. See the <code class="function">printf()</code> documentation
398 <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
399 <td> the parameters to insert into the format string
404 <p class="since">Since 2.14</p>
407 <div class="refsect2" title="g_string_append_vprintf ()">
408 <a name="g-string-append-vprintf"></a><h3>g_string_append_vprintf ()</h3>
409 <pre class="programlisting"><span class="returnvalue">void</span> g_string_append_vprintf (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
410 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
411 <span class="returnvalue">va_list</span> args);</pre>
413 Appends a formatted string onto the end of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
414 This function is similar to <a class="link" href="glib-Strings.html#g-string-append-printf" title="g_string_append_printf ()"><code class="function">g_string_append_printf()</code></a>
415 except that the arguments to the format string are passed
417 <div class="variablelist"><table border="0">
418 <col align="left" valign="top">
421 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
422 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
426 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
427 <td> the string format. See the <code class="function">printf()</code> documentation
431 <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
432 <td> the list of arguments to insert in the output
437 <p class="since">Since 2.14</p>
440 <div class="refsect2" title="g_string_printf ()">
441 <a name="g-string-printf"></a><h3>g_string_printf ()</h3>
442 <pre class="programlisting"><span class="returnvalue">void</span> g_string_printf (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
443 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
446 Writes a formatted string into a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
447 This is similar to the standard <code class="function">sprintf()</code> function,
448 except that the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> buffer automatically expands
449 to contain the results. The previous contents of the
450 <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> are destroyed.</p>
451 <div class="variablelist"><table border="0">
452 <col align="left" valign="top">
455 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
456 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
460 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
461 <td> the string format. See the <code class="function">printf()</code> documentation
465 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
466 <td> the parameters to insert into the format string
473 <div class="refsect2" title="g_string_append_printf ()">
474 <a name="g-string-append-printf"></a><h3>g_string_append_printf ()</h3>
475 <pre class="programlisting"><span class="returnvalue">void</span> g_string_append_printf (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
476 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *format,
479 Appends a formatted string onto the end of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
480 This function is similar to <a class="link" href="glib-Strings.html#g-string-printf" title="g_string_printf ()"><code class="function">g_string_printf()</code></a> except
481 that the text is appended to the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.</p>
482 <div class="variablelist"><table border="0">
483 <col align="left" valign="top">
486 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
487 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
491 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
492 <td> the string format. See the <code class="function">printf()</code> documentation
496 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
497 <td> the parameters to insert into the format string
504 <div class="refsect2" title="g_string_append ()">
505 <a name="g-string-append"></a><h3>g_string_append ()</h3>
506 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_append (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
507 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);</pre>
509 Adds a string onto the end of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>, expanding
511 <div class="variablelist"><table border="0">
512 <col align="left" valign="top">
515 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
516 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
520 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
521 <td> the string to append onto the end of <em class="parameter"><code>string</code></em>
525 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
526 <td> <em class="parameter"><code>string</code></em>
533 <div class="refsect2" title="g_string_append_c ()">
534 <a name="g-string-append-c"></a><h3>g_string_append_c ()</h3>
535 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_append_c (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
536 <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> c);</pre>
538 Adds a byte onto the end of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>, expanding
540 <div class="variablelist"><table border="0">
541 <col align="left" valign="top">
544 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
545 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
549 <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
550 <td> the byte to append onto the end of <em class="parameter"><code>string</code></em>
554 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
555 <td> <em class="parameter"><code>string</code></em>
562 <div class="refsect2" title="g_string_append_unichar ()">
563 <a name="g-string-append-unichar"></a><h3>g_string_append_unichar ()</h3>
564 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_append_unichar (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
565 <a class="link" href="glib-Unicode-Manipulation.html#gunichar" title="gunichar"><span class="returnvalue">gunichar</span></a> wc);</pre>
567 Converts a Unicode character into UTF-8, and appends it
569 <div class="variablelist"><table border="0">
570 <col align="left" valign="top">
573 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
574 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
578 <td><p><span class="term"><em class="parameter"><code>wc</code></em> :</span></p></td>
579 <td> a Unicode character
583 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
584 <td> <em class="parameter"><code>string</code></em>
591 <div class="refsect2" title="g_string_append_len ()">
592 <a name="g-string-append-len"></a><h3>g_string_append_len ()</h3>
593 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_append_len (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
594 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
595 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);</pre>
597 Appends <em class="parameter"><code>len</code></em> bytes of <em class="parameter"><code>val</code></em> to <em class="parameter"><code>string</code></em>. Because <em class="parameter"><code>len</code></em> is
598 provided, <em class="parameter"><code>val</code></em> may contain embedded nuls and need not
602 Since this function does not stop at nul bytes, it is
603 the caller's responsibility to ensure that <em class="parameter"><code>val</code></em> has at
604 least <em class="parameter"><code>len</code></em> addressable bytes.</p>
605 <div class="variablelist"><table border="0">
606 <col align="left" valign="top">
609 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
610 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
614 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
619 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
620 <td> number of bytes of <em class="parameter"><code>val</code></em> to use
624 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
625 <td> <em class="parameter"><code>string</code></em>
632 <div class="refsect2" title="g_string_append_uri_escaped ()">
633 <a name="g-string-append-uri-escaped"></a><h3>g_string_append_uri_escaped ()</h3>
634 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * g_string_append_uri_escaped (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
635 const <span class="returnvalue">char</span> *unescaped,
636 const <span class="returnvalue">char</span> *reserved_chars_allowed,
637 <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> allow_utf8);</pre>
639 Appends <em class="parameter"><code>unescaped</code></em> to <em class="parameter"><code>string</code></em>, escaped any characters that
640 are reserved in URIs using URI-style escape sequences.</p>
641 <div class="variablelist"><table border="0">
642 <col align="left" valign="top">
645 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
646 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
650 <td><p><span class="term"><em class="parameter"><code>unescaped</code></em> :</span></p></td>
655 <td><p><span class="term"><em class="parameter"><code>reserved_chars_allowed</code></em> :</span></p></td>
656 <td> a string of reserved characters allowed to be used
660 <td><p><span class="term"><em class="parameter"><code>allow_utf8</code></em> :</span></p></td>
661 <td> set <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the escaped string may include UTF8 characters
665 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
666 <td> <em class="parameter"><code>string</code></em>
672 <p class="since">Since 2.16</p>
675 <div class="refsect2" title="g_string_prepend ()">
676 <a name="g-string-prepend"></a><h3>g_string_prepend ()</h3>
677 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_prepend (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
678 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);</pre>
680 Adds a string on to the start of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>,
681 expanding it if necessary.</p>
682 <div class="variablelist"><table border="0">
683 <col align="left" valign="top">
686 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
687 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
691 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
692 <td> the string to prepend on the start of <em class="parameter"><code>string</code></em>
696 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
697 <td> <em class="parameter"><code>string</code></em>
704 <div class="refsect2" title="g_string_prepend_c ()">
705 <a name="g-string-prepend-c"></a><h3>g_string_prepend_c ()</h3>
706 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_prepend_c (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
707 <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> c);</pre>
709 Adds a byte onto the start of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>,
710 expanding it if necessary.</p>
711 <div class="variablelist"><table border="0">
712 <col align="left" valign="top">
715 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
716 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
720 <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
721 <td> the byte to prepend on the start of the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
725 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
726 <td> <em class="parameter"><code>string</code></em>
733 <div class="refsect2" title="g_string_prepend_unichar ()">
734 <a name="g-string-prepend-unichar"></a><h3>g_string_prepend_unichar ()</h3>
735 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_prepend_unichar (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
736 <a class="link" href="glib-Unicode-Manipulation.html#gunichar" title="gunichar"><span class="returnvalue">gunichar</span></a> wc);</pre>
738 Converts a Unicode character into UTF-8, and prepends it
740 <div class="variablelist"><table border="0">
741 <col align="left" valign="top">
744 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
745 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
749 <td><p><span class="term"><em class="parameter"><code>wc</code></em> :</span></p></td>
750 <td> a Unicode character
754 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
755 <td> <em class="parameter"><code>string</code></em>
762 <div class="refsect2" title="g_string_prepend_len ()">
763 <a name="g-string-prepend-len"></a><h3>g_string_prepend_len ()</h3>
764 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_prepend_len (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
765 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
766 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);</pre>
768 Prepends <em class="parameter"><code>len</code></em> bytes of <em class="parameter"><code>val</code></em> to <em class="parameter"><code>string</code></em>.
769 Because <em class="parameter"><code>len</code></em> is provided, <em class="parameter"><code>val</code></em> may contain
770 embedded nuls and need not be nul-terminated.
773 Since this function does not stop at nul bytes,
774 it is the caller's responsibility to ensure that
775 <em class="parameter"><code>val</code></em> has at least <em class="parameter"><code>len</code></em> addressable bytes.</p>
776 <div class="variablelist"><table border="0">
777 <col align="left" valign="top">
780 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
781 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
785 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
786 <td> bytes to prepend
790 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
791 <td> number of bytes in <em class="parameter"><code>val</code></em> to prepend
795 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
796 <td> <em class="parameter"><code>string</code></em>
803 <div class="refsect2" title="g_string_insert ()">
804 <a name="g-string-insert"></a><h3>g_string_insert ()</h3>
805 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_insert (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
806 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
807 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);</pre>
809 Inserts a copy of a string into a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>,
810 expanding it if necessary.</p>
811 <div class="variablelist"><table border="0">
812 <col align="left" valign="top">
815 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
816 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
820 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
821 <td> the position to insert the copy of the string
825 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
826 <td> the string to insert
830 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
831 <td> <em class="parameter"><code>string</code></em>
838 <div class="refsect2" title="g_string_insert_c ()">
839 <a name="g-string-insert-c"></a><h3>g_string_insert_c ()</h3>
840 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_insert_c (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
841 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
842 <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> c);</pre>
844 Inserts a byte into a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>, expanding it if necessary.</p>
845 <div class="variablelist"><table border="0">
846 <col align="left" valign="top">
849 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
850 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
854 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
855 <td> the position to insert the byte
859 <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
860 <td> the byte to insert
864 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
865 <td> <em class="parameter"><code>string</code></em>
872 <div class="refsect2" title="g_string_insert_unichar ()">
873 <a name="g-string-insert-unichar"></a><h3>g_string_insert_unichar ()</h3>
874 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_insert_unichar (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
875 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
876 <a class="link" href="glib-Unicode-Manipulation.html#gunichar" title="gunichar"><span class="returnvalue">gunichar</span></a> wc);</pre>
878 Converts a Unicode character into UTF-8, and insert it
879 into the string at the given position.</p>
880 <div class="variablelist"><table border="0">
881 <col align="left" valign="top">
884 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
885 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
889 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
890 <td> the position at which to insert character, or -1 to
891 append at the end of the string
895 <td><p><span class="term"><em class="parameter"><code>wc</code></em> :</span></p></td>
896 <td> a Unicode character
900 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
901 <td> <em class="parameter"><code>string</code></em>
908 <div class="refsect2" title="g_string_insert_len ()">
909 <a name="g-string-insert-len"></a><h3>g_string_insert_len ()</h3>
910 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_insert_len (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
911 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
912 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
913 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);</pre>
915 Inserts <em class="parameter"><code>len</code></em> bytes of <em class="parameter"><code>val</code></em> into <em class="parameter"><code>string</code></em> at <em class="parameter"><code>pos</code></em>.
916 Because <em class="parameter"><code>len</code></em> is provided, <em class="parameter"><code>val</code></em> may contain embedded
917 nuls and need not be nul-terminated. If <em class="parameter"><code>pos</code></em> is -1,
918 bytes are inserted at the end of the string.
921 Since this function does not stop at nul bytes, it is
922 the caller's responsibility to ensure that <em class="parameter"><code>val</code></em> has at
923 least <em class="parameter"><code>len</code></em> addressable bytes.</p>
924 <div class="variablelist"><table border="0">
925 <col align="left" valign="top">
928 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
929 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
933 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
934 <td> position in <em class="parameter"><code>string</code></em> where insertion should
935 happen, or -1 for at the end
939 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
944 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
945 <td> number of bytes of <em class="parameter"><code>val</code></em> to insert
949 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
950 <td> <em class="parameter"><code>string</code></em>
957 <div class="refsect2" title="g_string_overwrite ()">
958 <a name="g-string-overwrite"></a><h3>g_string_overwrite ()</h3>
959 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_overwrite (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
960 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> pos,
961 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val);</pre>
963 Overwrites part of a string, lengthening it if necessary.</p>
964 <div class="variablelist"><table border="0">
965 <col align="left" valign="top">
968 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
969 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
973 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
974 <td> the position at which to start overwriting
978 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
979 <td> the string that will overwrite the <em class="parameter"><code>string</code></em> starting at <em class="parameter"><code>pos</code></em>
983 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
984 <td> <em class="parameter"><code>string</code></em>
990 <p class="since">Since 2.14</p>
993 <div class="refsect2" title="g_string_overwrite_len ()">
994 <a name="g-string-overwrite-len"></a><h3>g_string_overwrite_len ()</h3>
995 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_overwrite_len (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
996 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> pos,
997 const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *val,
998 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);</pre>
1000 Overwrites part of a string, lengthening it if necessary.
1001 This function will work with embedded nuls.</p>
1002 <div class="variablelist"><table border="0">
1003 <col align="left" valign="top">
1006 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1007 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1011 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
1012 <td> the position at which to start overwriting
1016 <td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
1017 <td> the string that will overwrite the <em class="parameter"><code>string</code></em> starting at <em class="parameter"><code>pos</code></em>
1021 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
1022 <td> the number of bytes to write from <em class="parameter"><code>val</code></em>
1026 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1027 <td> <em class="parameter"><code>string</code></em>
1033 <p class="since">Since 2.14</p>
1036 <div class="refsect2" title="g_string_erase ()">
1037 <a name="g-string-erase"></a><h3>g_string_erase ()</h3>
1038 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_erase (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
1039 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> pos,
1040 <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="returnvalue">gssize</span></a> len);</pre>
1042 Removes <em class="parameter"><code>len</code></em> bytes from a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>, starting at position <em class="parameter"><code>pos</code></em>.
1043 The rest of the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> is shifted down to fill the gap.</p>
1044 <div class="variablelist"><table border="0">
1045 <col align="left" valign="top">
1048 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1049 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1053 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
1054 <td> the position of the content to remove
1058 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
1059 <td> the number of bytes to remove, or -1 to remove all
1064 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1065 <td> <em class="parameter"><code>string</code></em>
1072 <div class="refsect2" title="g_string_truncate ()">
1073 <a name="g-string-truncate"></a><h3>g_string_truncate ()</h3>
1074 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_truncate (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
1075 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> len);</pre>
1077 Cuts off the end of the GString, leaving the first <em class="parameter"><code>len</code></em> bytes.</p>
1078 <div class="variablelist"><table border="0">
1079 <col align="left" valign="top">
1082 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1083 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1087 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
1088 <td> the new size of <em class="parameter"><code>string</code></em>
1092 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1093 <td> <em class="parameter"><code>string</code></em>
1100 <div class="refsect2" title="g_string_set_size ()">
1101 <a name="g-string-set-size"></a><h3>g_string_set_size ()</h3>
1102 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_set_size (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
1103 <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> len);</pre>
1105 Sets the length of a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>. If the length is less than
1106 the current length, the string will be truncated. If the
1107 length is greater than the current length, the contents
1108 of the newly added area are undefined. (However, as
1109 always, string->str[string->len] will be a nul byte.)</p>
1110 <div class="variablelist"><table border="0">
1111 <col align="left" valign="top">
1114 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1115 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1119 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
1124 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1125 <td> <em class="parameter"><code>string</code></em>
1132 <div class="refsect2" title="g_string_free ()">
1133 <a name="g-string-free"></a><h3>g_string_free ()</h3>
1134 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a>* g_string_free (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string,
1135 <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> free_segment);</pre>
1137 Frees the memory allocated for the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
1138 If <em class="parameter"><code>free_segment</code></em> is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> it also frees the character data.</p>
1139 <div class="variablelist"><table border="0">
1140 <col align="left" valign="top">
1143 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1144 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1148 <td><p><span class="term"><em class="parameter"><code>free_segment</code></em> :</span></p></td>
1149 <td> if <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> the actual character data is freed as well
1153 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1154 <td> the character data of <em class="parameter"><code>string</code></em>
1155 (i.e. <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if <em class="parameter"><code>free_segment</code></em> is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>)
1162 <div class="refsect2" title="g_string_up ()">
1163 <a name="g-string-up"></a><h3>g_string_up ()</h3>
1164 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_up (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string);</pre>
1165 <div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1166 <h3 class="title">Warning</h3>
1167 <p><code class="literal">g_string_up</code> has been deprecated since version 2.2 and should not be used in newly-written code. This function uses the locale-specific
1168 <code class="function">toupper()</code> function, which is almost never the right thing.
1169 Use <a class="link" href="glib-String-Utility-Functions.html#g-string-ascii-up" title="g_string_ascii_up ()"><code class="function">g_string_ascii_up()</code></a> or <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-strup" title="g_utf8_strup ()"><code class="function">g_utf8_strup()</code></a> instead.</p>
1172 Converts a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> to uppercase.</p>
1173 <div class="variablelist"><table border="0">
1174 <col align="left" valign="top">
1177 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1178 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1182 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1183 <td> <em class="parameter"><code>string</code></em>
1191 <div class="refsect2" title="g_string_down ()">
1192 <a name="g-string-down"></a><h3>g_string_down ()</h3>
1193 <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a>* g_string_down (<a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *string);</pre>
1194 <div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1195 <h3 class="title">Warning</h3>
1196 <p><code class="literal">g_string_down</code> has been deprecated since version 2.2 and should not be used in newly-written code. This function uses the locale-specific
1197 <code class="function">tolower()</code> function, which is almost never the right thing.
1198 Use <a class="link" href="glib-String-Utility-Functions.html#g-string-ascii-down" title="g_string_ascii_down ()"><code class="function">g_string_ascii_down()</code></a> or <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-strdown" title="g_utf8_strdown ()"><code class="function">g_utf8_strdown()</code></a> instead.</p>
1201 Converts a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> to lowercase.</p>
1202 <div class="variablelist"><table border="0">
1203 <col align="left" valign="top">
1206 <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1207 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1211 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1212 <td> the <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
1220 <div class="refsect2" title="g_string_hash ()">
1221 <a name="g-string-hash"></a><h3>g_string_hash ()</h3>
1222 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_string_hash (const <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *str);</pre>
1224 Creates a hash code for <em class="parameter"><code>str</code></em>; for use with <a class="link" href="glib-Hash-Tables.html#GHashTable" title="GHashTable"><span class="type">GHashTable</span></a>.</p>
1225 <div class="variablelist"><table border="0">
1226 <col align="left" valign="top">
1229 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
1230 <td> a string to hash
1234 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1235 <td> hash code for <em class="parameter"><code>str</code></em>
1242 <div class="refsect2" title="g_string_equal ()">
1243 <a name="g-string-equal"></a><h3>g_string_equal ()</h3>
1244 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_string_equal (const <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *v,
1245 const <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> *v2);</pre>
1247 Compares two strings for equality, returning <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if they are equal.
1248 For use with <a class="link" href="glib-Hash-Tables.html#GHashTable" title="GHashTable"><span class="type">GHashTable</span></a>.</p>
1249 <div class="variablelist"><table border="0">
1250 <col align="left" valign="top">
1253 <td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
1254 <td> a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1258 <td><p><span class="term"><em class="parameter"><code>v2</code></em> :</span></p></td>
1259 <td> another <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>
1263 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1264 <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if they strings are the same length and contain the
1273 <div class="footer">
1275 Generated by GTK-Doc V1.13</div>