首页 [知识]C语言参考手册14

[知识]C语言参考手册14

举报
开通vip

[知识]C语言参考手册14[知识]C语言参考手册14 C语言参考手册14 本文由heyong3399贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第 14 章内存函数 本章介绍的函数向 C 语言编程人员提供复制、比较与设置内存块的有效方式。在标准 c 语言 }1,这些函数属于字符串函数,放在库头文件 strin9(h 中声明。而在早期的实现中,它们 在 ?一个头文件 memory(h 中声明。 内存块在标准 C 语言中用 void?类型指针指定,而在传统 c 语言中用 char?类型指针...

[知识]C语言参考手册14
[知识]C语言参考手册14 C语言参考手册14 本文由heyong3399贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第 14 章内存函数 本章介绍的函数向 C 语言编程人员提供复制、比较与设置内存块的有效方式。在 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 c 语言 }1,这些函数属于字符串函数,放在库头文件 strin9(h 中声明。而在早期的实现中,它们 在 ?一个头文件 memory(h 中声明。 内存块在标准 C 语言中用 void?类型指针指定,而在传统 c 语言中用 char?类型指针指 定。 E 标准 c 语言中,内存解释为 unsigned char 类型的对象数组;而传统 C 语言中没有显式指 定, r 以用 char 或 unsigned char。这些函数处理 null 字符时,和处理其他字符没有任何差别。 q89 增补 l 增加了 5 个操纵宽字符数组的新函数,用 wchar ?类型指针指定。这些函 数在 (中定义,其名称以字母 开头。宽字符的顺序_就 t;wchar h wmem 是整型 类型 wchar t 中整数的 《序。宽字符串不进行解释,因此不会发生编码错误。 参考章节 wchar t ll(1;宽字符 2(1(4 4(1 memChr、wmemchr 语法概要 #include wchar—t’wmemchr(const wchar—t*ptr f wchar—t val,8ize t len); 函数 memchr 搜索以 ptr 开头的第一个 len 个字符中第一次出现的 val,返回包含 val 的 第 个字符指针(如有),如果找不到这种字符,则返回 null 指针。每个字符 c 与 val 比较,相 当于瞬司 Insigned char)c==《unsigned char)va|。参见 strchr(13(5 节)。这些函数的 回值为 1 仁 const 的指针, 但事实上如果第一个参数指向 const 对象, 则指定的对象为 const。 wmemchr 函数(C89 增补 l)搜索以 ptr 开头的第一个 fen 个宽字符中第一次出现的 val, 回所找到的宽字符指针。如果找不到这种宽字符,则返回 null 指针。 ( 在传统 C 语言中,memchr 的语法如下: #include char*memchr(char*ptr,int val,int len); L2 memcmp、wmemcmp 256 第二部分 C 语言犀 #include 】 _nt wmemcmp‘ con8t wchar t *pCrl, const wchar—t *ptr2, 8ize—t len); —me—mcm—p 函瓯初而 pt—rl 薪孤丽瓜 le 厕 a 呼稃弱函 pt—r2—开头的—丽—fen 环甬丽而孵一 函数比较从 开头的前 个字符与从 日 u ,I、子付。则术昂一 7 字符串在词法上小于第二个字符串,则 memcmp 返回负值;如果第一个字符串在词法上 大于第: 个字符串,则 memcmp 返回正值;否则 memcmp 返回 0。参见 strcmp(13(2 节如 , 256 wmemcmp 函数(C89 增$b1)对宽字符数组进行相同的比较。宽字符的顺序就是整型类; wchar t 中整数的顺序。 根据 ptrl 处的宽字符小于、 等于或大于 ptr2 处的宽字符序列, 分j 返回负数、0 和正数。 早期的 C 语言实现可能包括函数 bcmp,也是比较两个字符串,但在其相同时返回 0,否 贝|lj 回非 0 值,不比较大于或小于。bcmp 与 memcmp 传统 c 语言语法如下: #include ’ int bcmp(char*ptrl,char*ptr2,int len); 圈 int memcmp(char?ptrl,char?ptr2,int len); 1 4。3 memcpy、memccpy、memmove、wmemcpy、wmemmove 语法概要 #include void*memcpy(void*dest,const void*src,size—t len); Void?me 皿?Ve(Void?de8t, con8t Void?8rc, 8izeIt 三』L 皇璺土』———— ————一 #include wchar—t。wmemcpy( wchar—t*dest,const wchar—t+src,si‘ze—t len); wchar_t’wmemmove‘ 、 wchar—t ?de 掌兰, con8t wchar—t ?8rc, 8ize—t len);—— ——_———————_——?_?--————__——————————————— ————?_—————__—_——-?—————————————————一 memcpy 与 me 衄 ove 函数(标准 c 语言)都从 src 到 dest 复制 len 个字符撇 dest 值 差别在于 memmove 能对共用内存区正确工作,EPmemmove 好像先把源内存区复制到另一临时 l 存区,然后再复制回目标内存区(事实上,实现 me 衄 ove 时不需要临时内存区 o memcpy 的 j 为在源和目标共用存储区时是未定义的,但有些 memcpy 版本能够实现复制到临时内存区的 词法 在两个函数都存在时,编程人员认为 memcpy 更快。参见 strcpy(13(3 节)。 函数硼 emcpy 与 WlnemmOV@(C89 增补 l)和 memcpy 与 mommovo 相似,只是对宽字符数 j 进行运算,都返回 destn 一 除了 memcpy 之外,早期的 c 语言实现可能包括函数 memccpy 与 bcopy。memccpy 函数{ 是从 src 到 dest 复制 len 个字符,但在复制数值为 val 的字符之后立即停止。如果复制了 全{ len 个字符,则 memccpy 返回 null 指针,否则返回 de 量 t 中、 ,al 的拷贝后面的字符指针。 函j bcopy 与 memcpy 相似,但保留源操作数和目标操作数。这些函数的传统 C 语言语法如下: #include char*memcpy(char*dest,char*src,int len); 。 第 l4 章内存函数 257 char*memccpy(char*dest, char?src,int val,int len); char*bcopy(char。erc,char’dest,int len); 4(4 memset、wmemset memset 函数将 val 复制到从 ptr 开始的每 len 个字符。ptr 所指定字符的为 ungigned har。函数返回 ptr 值。 ‘ wmemset 函数(C89 增补 l)与 memset 相似,只是填充宽字符数组。 早期的 C 语言实现可能包括更严格的函数 bzer0, 0 复制到从 ptr 开始的每 len 个字符。 将 :些函数的传统 c 语言语法如下: #include char*memset(char*ptr,int val,int len); void bzero(char*ptr,int len); 圆 圈 1
本文档为【[知识]C语言参考手册14】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-09-27
浏览量:5