新开传奇网站刚开一秒第一区做门户网站的市场价格

diannao/2025/10/13 21:31:38/文章来源:
新开传奇网站刚开一秒第一区,做门户网站的市场价格,鲜花网站建设规划,百度关键词查询学过面向对象语言的同学一定都知道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.mzph.cn/diannao/92560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国外优秀ui设计网站网站建设这门课好学吗

目录&#xff1a;代码&#xff1a;分析&#xff1a;汇编&#xff1a;代码&#xff1a; main.c #include <stdio.h>/* 程序描述&#xff1a;输出N*N中符合左右对角线与上下左右方向都没被使用的位置在每一行的所有情况使用检测左上角&#xff0c;正上角&#xff0c;右上…

网站域名注册需要什么手续WordPress主题 Slhao

目录 1 I/O 缓冲简介 1.1 什么是I/O 缓冲 1.2 I/O 缓冲的目的 2 文件 I/O 的内核缓冲 3 刷新文件 I/O 的内核缓冲区 3.1 什么是刷新文件 I/O 的内核缓冲区 3.2 控制文件 I/O 内核缓冲的系统调用函数 3.3 示例程序 4 控制文件 I/O 内核缓冲的标志 4.1 O_DSYNC 和 O_SY…

网站怎么做反爬虫网络推广的渠道有哪些

题目描述 思路分析 不是每次1了&#xff0c;而是直接加相同数字出现过的次数&#xff0c;比如有3个1&#xff0c;第二个1就是1&#xff0c;第三个直接2&#xff0c;而不是两次1&#xff0c;而且每次都记录每次的新值出现的次数&#xff0c;这样循环到新数未出现过为止 代码实…

常州房地产网站建设国家住房和城乡建设厅网站

随着技术的不断发展&#xff0c;大模型&#xff08;例如GPT-4&#xff09;在自然语言处理等领域表现出色。然而&#xff0c;随着时间的推移&#xff0c;一些人可能会质疑在2024年入局大模型是否为时已晚。本文将探讨这个问题&#xff0c;并提供观点和观察。 2024年&#xff0c;…

做网站的资源哪里找怎么在主机上的建设网站

感谢朋友支持本博客&#xff0c;欢迎共同探讨交流&#xff0c;因为能力和时间有限&#xff0c;错误之处在所难免&#xff0c;欢迎指正&#xff01;假设转载。请保留作者信息。 博客地址&#xff1a;http://blog.csdn.net/qq_21398167 原博文地址&#xff1a;http://blog.csdn.n…

网站商城开发wordpress 获取文章id

青岚影视 www.qldyy.net 在事先画好的一个区域内&#xff0c;使用区域填充之种子填充线扫描法将其填充完毕。同时带有鼠标和键盘事件&#xff0c;并添加了菜单。对于存在的改变窗口大小程序会出现问题还没有很好的解决&#xff0c;只是仅仅将窗口大小固定住了&#xff0c;不能随…

定制建站站长工具精品

参考链接 FFmpeg源代码简单分析&#xff1a;avformat_write_header()_雷霄骅的博客-CSDN博客_avformat_write_header avformat_write_header() FFmpeg写文件用到的3个函数&#xff1a;avformat_write_header()&#xff0c;av_write_frame()以及av_write_trailer()其中av_writ…

网站还未被收录可以做推广吗网站建设 讲话

read()方法返回值为什么是int? 因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111,那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不…

注册网站要多少钱一年雅思培训

构建检索增强生成&#xff08;RAG&#xff09;系统的关键因素之一&#xff1a;向量嵌入( vector embeddings )。这些元素是基本的技术和转换工具&#xff0c;使 RAG 系统在某些方面能够以类似于人类理解的形式处理语言。 embedding 提供了一种将文本信息转换为数字数据的方法。…

一流网站模板中国建设承包商网站

傅里叶变换的离散性与周期性 2023年11月21日 #elecEngeneer 文章目录 傅里叶变换的离散性与周期性1. 符号说明2. 具体分析3. 序列的序号表示的DFT下链 1. 符号说明 t : 连续时间(时域)变量 ω : 频域变量&#xff0c;aka角频率 g : 时域函数 G : 频域函数 n : 时域采样序列序号…

asp.net旅游网站开发文档做网站推广员工

前言 问题的来源于在学数据结构的时候&#xff0c;C的语法和C语言的语法竟然不一样。 1.首先函数的参数有两种传递方式&#xff0c;一个是值传递&#xff0c;一个是地址传递。当指针作为参数传递的时候&#xff0c;即为地址传递&#xff0c;但C写的时候需要加&引用符号&a…

郑州网站设计费用关闭开发者模式

Spring Boot 是一个开源的 Java 框架&#xff0c;用于创建独立、生产级的基于 Spring 框架的应用程序。它简化了基于 Spring 的应用程序的创建和部署过程。JSP&#xff08;JavaServer Pages&#xff09;是一种动态网页技术&#xff0c;允许开发者在 HTML 中嵌入 Java 代码。将 …

椒江建设网保障性阳光工程网站wordpress获取动态页面内容

2022年亚太杯APMCM数学建模大赛 E题 有多少核弹可以摧毁地球 原题再现 1945年8月6日&#xff0c;第二次世界大战即将结束。为了尽快结束战争&#xff0c;美国在日本广岛投下了下一颗名为“小男孩”的原子弹。这样一颗原子弹在广岛炸死了20万人&#xff0c;广岛的所有建筑物都…

番禺网站制作价格秦皇岛建设网站

heap【堆】掌握 手写上浮、下沉、建堆函数 对一组数进行堆排序 直接使用接口函数heapq 什么是堆&#xff1f;&#xff1f;&#xff1f;堆是一个二叉树。也就是有两个叉。下面是一个大根堆&#xff1a; 大根堆的每一个根节点比他的子节点都大 有大根堆就有小根堆&#xff1…

手机网站类型网站开发预算报价表

往期回顾 【QT入门】 Qt代码创建布局之setLayout使用-CSDN博客 【QT入门】 Qt代码创建布局之多重布局变换与布局删除技巧-CSDN博客 【QT入门】 QTabWidget各种常见用法详解-CSDN博客 【QT入门】 QListWidget各种常见用法详解之列表模式 QListWidget有列表和图标两种显示模式&a…

空间站建造阶段网站建设验收期

正题 题目大意 nnn个武器(n≤2n\leq2n≤2)&#xff0c;mmm个符文 符文1:直接改变一个武器的攻击力(最多一个) 符文2:增加一个武器的攻击力 符文3:使一个人的武器攻击力翻若干倍 求武器攻击力乘积最大&#xff0c;输出答案的自然对数。 解题思路 首先log(ab)log(a)log(b)lo…

html5行业网站湛江做网站从

读写Excel打包后无法运行可能的解决方案 &#x1f4a1;.适用于NPOI、EPPlus。 &#x1f4a1;.下载 资源包&#x1f448;,解压后把dll放到Assets目录中再重新打包即可。

手机端网站做appiis做网站上传速度慢

《C语言编写modbus协议》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《C语言编写modbus协议(23页珍藏版)》请在人人文库网上搜索。1、include / 字地址 0 - 255 (只取低 8位) / 位地址 0 - 255 (只取低 8位)/* CRC 高位字节值表 */ const uint8 code auchCRCHi 0x0…

广东茶叶网站建设做普通网站多少钱

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法&#xff0c;其…

广东事业单位网站vs2013网站开发代码

随着数字营销的崛起&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为企业提升在线可见度、吸引潜在客户的关键手段。面对独立站谷歌SEO外包服务和自建SEO团队两种选择&#xff0c;企业往往会感到困惑。本文将深入探讨这两种方式的优势与局限&#xff0c;帮助您做出明…