Справочное описание GLib | ||||
---|---|---|---|---|
#include <glib.h>
GString;
GString* g_string_new (const gchar *init);
GString* g_string_new_len (const gchar *init,
gssize len);
GString* g_string_sized_new (gsize dfl_size);
GString* g_string_assign (GString *string,
const gchar *rval);
#define g_string_sprintf
#define g_string_sprintfa
void g_string_printf (GString *string,
const gchar *format,
...);
void g_string_append_printf (GString *string,
const gchar *format,
...);
GString* g_string_append (GString *string,
const gchar *val);
GString* g_string_append_c (GString *string,
gchar c);
GString* g_string_append_unichar (GString *string,
gunichar wc);
GString* g_string_append_len (GString *string,
const gchar *val,
gssize len);
GString* g_string_prepend (GString *string,
const gchar *val);
GString* g_string_prepend_c (GString *string,
gchar c);
GString* g_string_prepend_unichar (GString *string,
gunichar wc);
GString* g_string_prepend_len (GString *string,
const gchar *val,
gssize len);
GString* g_string_insert (GString *string,
gssize pos,
const gchar *val);
GString* g_string_insert_c (GString *string,
gssize pos,
gchar c);
GString* g_string_insert_unichar (GString *string,
gssize pos,
gunichar wc);
GString* g_string_insert_len (GString *string,
gssize pos,
const gchar *val,
gssize len);
GString* g_string_erase (GString *string,
gssize pos,
gssize len);
GString* g_string_truncate (GString *string,
gsize len);
GString* g_string_set_size (GString *string,
gsize len);
gchar* g_string_free (GString *string,
gboolean free_segment);
GString* g_string_up (GString *string);
GString* g_string_down (GString *string);
guint g_string_hash (const GString *str);
gboolean g_string_equal (const GString *v,
const GString *v2);
GString подобна стандартной C string, за исключением того что она автоматически увеличивается при добавлении или вставке текста. Также, она хранит длину строки, поэтому может использоваться для двоичных данных с включением нулевых байт.
typedef struct {
gchar *str;
gsize len;
gsize allocated_len;
} GString;
Структура GString содержит общедоступные поля
GString.
Поле str
указывает на символьные данные.
Он может меняться при добавлении текста.
Поле len
содержит длину строки,
не включая завершающий нулевой байт.
Поле str
nul-завершённое и поэтому может быть использовано как обычная C string.
Но она может перемещаться когда в строку добавляется или вставляется текст.
GString* g_string_new (const gchar *init);
Создаёт новую GString, инициализируя полученной строкой.
init : |
инициализируемый текст для копирования в строку. |
Возвращает : | новая GString. |
GString* g_string_new_len (const gchar *init,
gssize len);
Создаёт новую GString с длиной len
байт буфера init
. Поскольку длина обеспечена, init
не должен быть nul-завершённым и может содержать встроенные nul байты.
init : |
начальное содержимое строки. |
len : |
длина init для использования.
|
Возвращает : | новая GString. |
GString* g_string_sized_new (gsize dfl_size);
Создаёт новую GString, с достаточным пространством для
dfl_size
байт.
Это полезно если вы добавляете много текста в строку и не хотите перераспределять её слишком часто.
dfl_size : |
размер свободного пространства которое содержит распределённая строка. |
Возвращает : | новая GString. |
GString* g_string_assign (GString *string,
const gchar *rval);
Копирует байты из строки в GString,
уничтожает любое предыдущее содержимое. Она скорее похожа на стандартную функцию strcpy()
,
за исключением того, что вам не нужно беспокоится о наличии достаточного пространства для копируемой строки.
#define g_string_sprintf
g_string_sprintf
устарела и не должна использоваться во вновь создаваемом коде.
Эта функция переименована в g_string_printf()
.
Записывает форматированную строку в GString.
Подобна стандартной функции sprintf()
,
за исключением того, что буфер GString автоматически расширяется для
вмещения результата.
Предыдущее содержимое GString уничтожается.
#define g_string_sprintfa
g_string_sprintfa
устарела и не должна использоваться во вновь создаваемом коде. This function has been renamed to g_string_append_printf()
.
Добавляет форматированную строку в конец GString.
Эта функция подобна g_string_sprintf()
,
за исключением того, что текст добавляется к GString.
void g_string_printf (GString *string,
const gchar *format,
...);
Записывает форматированную строку в GString.
Это подобно стандартной функции sprintf()
,
за исключением того, что буфер GString автоматически
расширяется для вмещения результата.
Предыдущее содержимое GString уничтожается.
string : |
GString. |
format : |
строка формата. Смотрите документацию printf() .
|
... : |
параметры вставляемые в форматируемую строку. |
void g_string_append_printf (GString *string,
const gchar *format,
...);
Добавляет форматированную строку в конец GString.
Эта функция подобна g_string_printf()
,
за исключением того, что текст добавляется к GString.
string : |
GString. |
format : |
строка формата. Смотрите документацию printf() .
|
... : |
параметры вставляемые в форматируемую строку. |
GString* g_string_append (GString *string,
const gchar *val);
Добавляет строку в конец GString, расширяя её если необходимо.
GString* g_string_append_c (GString *string,
gchar c);
Добавляет бай в конец GString, расширяя её если необходимо.
GString* g_string_append_unichar (GString *string,
gunichar wc);
Конвертирует Unicode символ в UTF-8, и добавляет его в строку.
string : |
GString |
wc : |
Unicode символ |
Возвращает : | string
|
GString* g_string_append_len (GString *string,
const gchar *val,
gssize len);
Добавляет len
байт val
в string
. Поскольку len
обеспечена,
val
может содержать встроенные nuls и не должна быть nul-завершённой.
GString* g_string_prepend (GString *string,
const gchar *val);
Добавляет строку в начало GString, расширяя её если необходимо.
GString* g_string_prepend_c (GString *string,
gchar c);
Добавляет байт в начало GString, расширяя её если необходимо.
GString* g_string_prepend_unichar (GString *string,
gunichar wc);
Конвертирует Unicode символ в UTF-8, и добавляет его в начало строки.
string : |
GString. |
wc : |
Unicode символ. |
Возвращает : | string .
|
GString* g_string_prepend_len (GString *string,
const gchar *val,
gssize len);
Добавляет len
байт val
в string
. Поскольку len
обеспечена,
val
может содержать встроенные nuls и не должна быть nul-завершённой.
GString* g_string_insert (GString *string,
gssize pos,
const gchar *val);
Вставляет копию строки в GString, расширяя её если необходимо.
GString* g_string_insert_c (GString *string,
gssize pos,
gchar c);
Вставляет байт в GString, расширяя её если необходимо.
GString* g_string_insert_unichar (GString *string,
gssize pos,
gunichar wc);
Конвертирует Unicode символ в UTF-8, и вставляет его в строку в указанную позицию.
string : |
GString |
pos : |
позиция в которую вставляется символ, или -1 для добавления в конец строки. |
wc : |
Unicode символ |
Возвращает : | string
|
GString* g_string_insert_len (GString *string,
gssize pos,
const gchar *val,
gssize len);
Вставляет len
байт val
в string
в позицию pos
. Поскольку len
обеспечена,
val
может содержать встроенные nuls и не должна быть nul-завершённой.
Если pos
это -1, байты вставляются в конец строки.
GString* g_string_erase (GString *string,
gssize pos,
gssize len);
Удаляет len
байт из GString,
сначала позиции pos
.
Остальная часть GString смещается вниз для заполнения пустоты.
GString* g_string_truncate (GString *string,
gsize len);
Вырезает окончание GString, оставляя первые len
байт.
GString* g_string_set_size (GString *string,
gsize len);
Устанавливает длину GString. Если длина меньше чем текущая, строка будет обрезана. Если длина больше чем текущая, содержимое вновь добавленного пространства неопределено. (Однако, как всегда, string->str[string->len] будет nul байтом.)
string : |
GString |
len : |
новая длина |
Возвращает : | string
|
gchar* g_string_free (GString *string,
gboolean free_segment);
Освобождает память распределённую для GString.
Если free_segment
это TRUE
она так же освобождает символьные данные.
GString* g_string_up (GString *string);
g_string_up
устарела начиная с версии 2.2 и не должна использоваться во вновь создаваемом коде.
Эта функция использует locale-специфичную функцию toupper()
, которая почти никогда не является
правильным выбором.
Используйте g_string_ascii_up()
или
g_utf8_strup()
вместо неё.
Конвертирует GString в верхний регистр.
GString* g_string_down (GString *string);
g_string_down
устарела начиная с версии 2.2 и не должна использоваться во вновь создаваемом коде.
Эта функция использует locale-специфичную функцию tolower()
, которая почти никогда не является
правильным выбором.
Используйте g_string_ascii_down()
или
g_utf8_strdown()
вместо неё.
Конвертирует GString в нижний регистр.
guint g_string_hash (const GString *str);
Создаёт новый хеш код для str
; для использования с
GHashTable.
str : |
строка для хеширования. |
Возвращает : | хеш код для str .
|
gboolean g_string_equal (const GString *v,
const GString *v2);
Сравнивает две строки на эквивалентность, возвращает TRUE
если они равны.
Для использования с GHashTable.