GString基本使用–GLIB

GString基本使用–GLIB

GString是一个处理C字符串内存管理的对象。官方地址:https://docs.gtk.org/glib/struct.String.html

代码tgstr.c:

// gcc -o test tgstr.c -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -lglib-2.0  

#include <glib.h>  
#include <stdio.h>  
#include <string.h>  

int main(int argc, char *argv[]) {
    GString *g_str = g_string_new("start:") ;
    printf("=== 0X%lx str [%s] len [%lu] \n", (unsigned long)g_str, g_str->str, g_str->len) ;

    char * str = "abcd," ;
    g_string_append_len(g_str, str, strlen(str)) ;
    printf("=== 0X%lx str [%s] len [%lu] \n", (unsigned long)g_str, g_str->str, g_str->len) ;

    g_string_append_printf(g_str, "%s %d,", "one", 2024 ) ;
    printf("=== 0X%lx str [%s] len [%lu] \n", (unsigned long)g_str, g_str->str, g_str->len) ;

    g_string_append(g_str, "hijk,") ;
    printf("=== 0X%lx str [%s] len [%lu] \n", (unsigned long)g_str, g_str->str, g_str->len) ;

    g_string_printf(g_str, "%s %d", "one", 2024 ) ;
    printf("=== 0X%lx str [%s] len [%lu] \n", (unsigned long)g_str, g_str->str, g_str->len) ;

    g_string_free(g_str, TRUE) ;
    return 0 ;
}

编译和测试:

编译指令:gcc -Wall -o test tgstr.c pkg-config --cflags --libs glib-2.0

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注