当前位置: 首页 > news >正文

关于门户网站建设域名批量查询系统

关于门户网站建设,域名批量查询系统,怎么理解网络营销,wordpress集团网站学过面向对象语言的同学一定都知道String类#xff0c;一定知道这个类对字符串的操作是多麽的方便#xff0c;但是c语言中是没有这个类#xff0c;甚至没有类的概念#xff0c;但是glib帮我们做的这个“类” GString 除了使用gchar *进行字符串处理以外#xff0c;Glib还… 学过面向对象语言的同学一定都知道String类一定知道这个类对字符串的操作是多麽的方便但是c语言中是没有这个类甚至没有类的概念但是glib帮我们做的这个“类”  GString 除了使用gchar *进行字符串处理以外Glib还定义了一种新的数据类型 GString。 它类似于标准C的字符串类型但是GString能够自动增长。它的字符串数据是以NULL结尾的。 这些特性可以防止程序中的缓冲溢出。这是一种非常重要的特性。 GString是一种动态字符串数据结构提供了丰富灵活方便的API无需手工分配内存无需担心缓冲区溢出。 先说一下GString的结构体定义 GString typedef struct {gchar *str;gsize len; gsize allocated_len; } GString;这里就不用多解释了str是字符串的指针len是字符串长度allocated_len是前面说的会多申请一段内存申请的大小是由一定的算法并不是保留一个固定值下面的例子程序中有相关的效果可以留意一下。 然后是glib提供的功能函数 Synopsis #include glib.hGString; 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_vprintf (GString *string,const gchar *format,va_list args); void g_string_append_vprintf (GString *string,const gchar *format,va_list args); 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_append_uri_escaped (GString *string,const char *unescaped,const char *reserved_chars_allowed,gboolean allow_utf8); 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_overwrite (GString *string,gsize pos,const gchar *val); GString* g_string_overwrite_len (GString *string,gsize 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变量 GString *g_string_new( gchar *init ); 这个函数创建一个GString将字符串值init复制到GString中返回一个指向它的指针。 如果init参数是NULL创建一个空GString。  void g_string_free( GString *string, gint free_segment ); 这个函数释放string所占据的内存。 free_segment参数是一个布尔类型变量。如果 free_segment参数是TRUE它还释放其中的字符数据。  GString *g_string_assign( GString *lval, const gchar *rval ); 这 个函数将字符从rval复制到lval销毁lval的原有内容。注意如有必要 lval会被加长以容纳字符串的内容。这一点和标准的字符串复制函数strcpy( )相同。下面的函数的意义都是显而易见的。 其中以_ c结尾的函数接受一个字符而不是字符串。  截取string字符串生成一个长度为len的子串 GString *g_string_truncate( GString *string, gint len );  将字符串val追加在string后面返回一个新字符串 GString *g_string_append( GString *string, gchar *val );  将字符c追加到string后面返回一个新的字符串 GString *g_string_append_c( GString *string, gchar c );  将字符串val插入到string前面生成一个新字符串 GString *g_string_prepend( GString *string, gchar *val );  将字符c插入到string前面生成一个新字符串 GString *g_string_prepend_c( GString *string, gchar c );  将一个格式化的字符串写到string中类似于标准的sprint f函数 void g_string_sprintf( GString *string, gchar *fmt, . . . ) ;  将一个格式化字符串追加到string后面与上一个函数略有不同 void g_string_sprintfa ( GString *string, gchar *fmt, ... ); 下面用一个例子程序说明几个常用函数的用法 [cpp] view plain copy #include glib.h      int main(int argc,char **argv) {      //    GString* g_string_new(const gchar *init);   根据所给的字符串建立适当长度的GString并自动创建适当长度的allocated_len创建的时候将字符串init复制到GString中。       GString *string  g_string_new(Justin);       g_print(g_string_new(\Justin\); len  %d, allocated_len  %d\n,                string-len, string-allocated_len);          //    若不使用GString时可以使用g_string_free()释放第二个参数如果为TRUE会连同字符串也是放掉。       g_string_free(string, TRUE);                  //    GString* g_string_new_len(const gchar *init, gssize len);     指定len来建立GString因为是自行制定的长度所以len必须超过init的长度。       string  g_string_new_len(Justin, 32);       g_print(g_string_new_len(\Justin\, 32); len  %d, allocated_len  %d\n,                string-len, string-allocated_len);           g_string_free(string, TRUE);                  //    GString* g_string_sized_new(gsize dfl_size);      指定allocated_len建立GString函数会根据需要的长度值自动分配长度也就是不一定会分配设置的长度但一定会比设定的长度大。       string  g_string_sized_new(32);       g_printf(g_string_sized_new(32); len  %d, allocated_len  %d\n,                string-len, string-allocated_len);        g_string_free(string, TRUE);                GString *tg_string_new(Hello Laomeng.);       GString *sg_string_new(Hello Laoli.);          //    g_string_equal()    判断两个GString的字符串内容是否相同       if(g_string_equal(s,t))        {           g_print(g_string_equal(s,t); %s   %s\n,s-str,t-str);       }        else        {           g_print(g_string_equal(s,t); %s ! %s\n,s-str,t-str);       }       g_string_free(s, TRUE);        g_string_free(t, TRUE);           string  g_string_new(first str!);   //     GString* g_string_append (GString *string,const gchar *val);     在字符串string后面追加字符串val       g_string_append(string, second str!);       g_print(g_string_append(string, \second str!\); %s\n, string-str);      //    GString* g_string_truncate(GString *string,gsize len); 截断字符串保留前len个字符       g_string_truncate(string,5);       g_print(g_string_truncate(string,5);  string:  %s, len  %d, allocated_len  %d\n,string-str, string-len , string-allocated_len);      //     GString* g_string_prepend (GString *string,const gchar *val);     在字符串string前面追加字符串val       g_string_prepend(string, prepend str!);       g_print(g_string_prepend(string, \prepend str!\); string:%s\n, string-str);      //     GString* g_string_insert (GString *string,gssize pos,const gchar *val);     将字符串插入到pos处       g_string_insert(string, sizeof(prepend str!)-1 , insert str!);       g_print(g_string_insert(string, sizeof(\prepend str!\) , \insert str!\); %s\n, string-str);      //    void g_string_printf(GString *string, const gchar *format, ...);  格式化一个字符串和sprintf用法一样只是赋值给一个GStringstring里面以前的数据被销毁了       g_string_printf(string,%d  %d  %d, 100, 200, 100200);       g_print(g_string_printf(); GString: %s, len  %d, allocated_len  %d \n,string-str, string-len , string-allocated_len);      //    void g_string_append_printf(GString *string, const gchar *format, ...);  格式化一个字符串和g_string_printf很相似只是不销毁string里面的数据而是在后面追加       g_string_append_printf(string,\t %d * %d  %d, 100,200,100*200);       g_print(g_string_append_printf(); GString: %s, len  %d, allocated_len  %d \n,string-str, string-len , string-allocated_len);          g_string_free(string,TRUE);          string  g_string_new(abcdefgABCDEFG);      //    g_string_ascii_up()或g_utf8_strup() 转换GString中的字符串为小写       g_string_ascii_up(string);       g_printf(Upper: %s\n, string-str);   //    g_string_ascii_down()或g_utf8_strdown()转换GString中的字符串为大写       g_string_ascii_down(string);       g_printf(Down: %s\n, string-str);          g_string_free(string,TRUE);          return 0;      }   运行结果 [plain] view plain copy linuxubuntu:~/16021/glibdemo$ gcc -o gstring gstring.c -lglib-2.0   linuxubuntu:~/16021/glibdemo$ ./gstring    g_string_new(Justin); len  6, allocated_len  16   g_string_new_len(Justin, 32); len  32, allocated_len  64   g_string_sized_new(32); len  0, allocated_len  64   g_string_equal(s,t); Hello Laoli. ! Hello Laomeng.   g_string_append(string, second str!); first str!second str!   g_string_truncate(string,5);  string:  first, len  5, allocated_len  32   g_string_prepend(string, prepend str!); string:prepend str!first   g_string_insert(string, sizeof(prepend str!) , insert str!); prepend str!insert str!first   g_string_printf(); GString: 100  200  300, len  15, allocated_len  32    g_string_append_printf(); GString: 100  200  300   100 * 200  20000, len  34, allocated_len  64    Upper: ABCDEFGABCDEFG   Down: abcdefgabcdefg   linuxubuntu:~/16021/glibdemo$
http://www.zqtcl.cn/news/270923/

相关文章:

  • 昆明网站建设制作汽车之家官网网页版入口
  • 诸城建设局网站免费的创建个人网站
  • 网站建设工作下步打算上海搬家公司电话查询
  • 如何将自己做的网站推广出去大型网站方案
  • 深圳做网站排名哪家好贵阳景观设计公司
  • 做图片网站中英网站搭建报价表
  • 酒类网站该怎么做网站建设协议
  • 怎么打帮人 做网站开发的广告双语言网站模版
  • 企业网站建设的实验报告广告公司网站建设方案
  • 安徽茶叶商城网站建设贵阳市花溪区建设局网站
  • 广西网站建设制作推广普通话倡议书
  • 最新网站建设的模板下载小制作作文400字
  • 海南省城乡建设部网站首页央视新闻
  • 高端白酒品牌有哪些网站怎么做才能得到更好的优化
  • 北京安慧桥网站建设青之峰做网站
  • 免费制作网站的平台推广网站多少钱
  • 怎么增加网站的收录量广西建设厅网站地址
  • flash网站方案料神wordpress建站教程
  • 杭州 企业 建网站蚌埠网站优化
  • 网站建设的分类黄骅港最新招聘
  • 门户网站建设和检务公开自查搜索引擎排名优化价格
  • 湘阴网站建设如何建立自己的网站
  • 国外的ps网站网页源代码翻译器
  • 六安马昌友优化营商环境 助推高质量发展
  • wdcp 配置网站什么是搜索引擎营销?
  • 东莞网站上排名建设银行网站登录不进去
  • 陕西建设厅八大员官方网站服装公司做哪个网站
  • 福建省住房和城乡建设厅网站站群 网站如何做
  • 网站换稳定服务器网页制造与网站建设论文
  • wordpress 产品目录seo技术是干什么的