GLib字符串处理@GTK+ 2.0 中文教程连载

<<< Previous GLibNext >>>

字符串处理

GLib 定义了一个叫做 GString 的新类型,该类型相似于标准 C 中的string,但可以自动增长。字符串数据以null结尾。该类型可以防止程序中的缓冲区溢出错误。这是一个非常重要的特性,因此我推荐使用 GString。GString 有一简单定义:

struct GString 
{
gchar *str; /* 指向当前以‘/0’结尾的字符串。 */
gint len; /* 当前长度 */
};

如你所预想的,有许多对一个 GString 型字符串的操作。

GString *g_string_new( gchar *init );

这个函数构造一个 GString 型字符串,它把 init指向的字符串值复制到 GString 型字符串中,返回一个指向它的指针。建一个初始为空的 GString 型字符串则传递一个 NULL 作为参数。

void g_string_free( GString *string,
gint free_segment );

该函数释放给定的 GString 型字符串的存储空间。如果参数 free_segment 为 TRUE,也释放其字符数据。

 GString *g_string_assign( GString     *lval,
const gchar *rval );

该函数将 rval 中的字符复制到 lval 中,覆盖 lval 中以前的内容。注意为装下复制的字符串,lval 会变长,这是和标准的 strcpy() 数不一样的。

以下函数的功能是相当明显的(带有_c的版本接受一个字符而不是一个字符串):

 GString *g_string_truncate( GString *string,
gint len );

GString *g_string_append( GString *string,
gchar *val );

GString *g_string_append_c( GString *string,
gchar c );

GString *g_string_prepend( GString *string,
gchar *val );

GString *g_string_prepend_c( GString *string,
gchar c );

void g_string_sprintf( GString *string,
gchar *fmt,
...);

void g_string_sprintfa ( GString *string,
gchar *fmt,
... );

<<< Previous Home Next >>>
计时器Up 实用程序和错误处理函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值