所在函数库为string.h、mem.hmem…操作存贮数组void*memccpyvoid*destin,void*source,unsignedcharch,unsignednvoid*memchrvoid*s,charch,unsignednvoid*memcmpvoid*s1,void*s2,unsignednintmemicmpvoid*s1,void*s2,unsignednvoid*memmovevoid*destin,void*source,unsignednvoid*memcpyvoid*destin,void*source,unsignednvoid*memsetvoid*s,charch,unsignedn这些函数,mem…系列的所有成员均操作存贮数组.在所有这些函数中,数组是n字节长.memcpy从source复制一个n字节的块到destin.如果源块和目标块重叠,则选择复制方向,以例正确地复制覆盖的字节.memmove与memcpy相同.memset将s的所有字节置于字节ch中.s数组的长度由n给出.memcmp比较正好是n字节长的两个字符串s1和s2.些函数按无符号字符比较字节,因此,memcmp0xFF,\x7F,1返回值大于0.memicmp比较s1和s2的前n个字节,不管字符大写或小写.memccpy从source复制字节到destin.复制一结束就发生下列任一情况:1字符ch首选复制到destin.2n个字节已复制到destin.memchr对字符ch检索s数组的前n个字节.返回值:memmove和memcpy返回destinmemset返回s的值memcmp和memicmp─┬─若s1s2返回值大于0memccpy若复制了ch,则返回直接跟随ch的在destin中的字节的一个指针;否则返回NULLmemchr返回在s中首先出现ch的一个指针;如果在s数组中不出现ch,就返回NULL.voidmovedataintsegsrc,intoffsrc,intsegdest,intoffdest,unsignednumbytes本函数将源地址segsrc:offsrc处的numbytes个字节复制到目标地址segdest:offdestvoidmovememvoid*source,void*destin,unsignedlen本函数从source处复制一块长len字节的数据到destin.若源地址和目标地址字符串重叠,则选择复制方向,以便正确的复制数据.voidsetmemvoid*addr,intlen,charvalue本函数把addr所指的块的第一个字节置于字节value中.str…字符串操作函数charstpcpychar*dest,constchar*src将字符串src复制到destcharstrcatchar*dest,constchar*src将字符串src添加到dest末尾charstrchrconstchar*s,intc检索并返回字符c在字符串s中第一次出现的位置intstrcmpconstchar*s1,constchar*s2比较字符串s1与s2的大小,并返回s1-s2charstrcpychar*dest,constchar*src将字符串src复制到destsize_tstrcspnconstchar*s1,constchar*s2扫描s1,返回在s1中有,在s2中也有的字符个数charstrdupconstchar*s将字符串s复制到最近建立的单元intstricmpconstchar*s1,constchar*s2比较字符串s1和s2,并返回s1-s2size_tstrlenconstchar*s返回字符串s的长度charstrlwrchar*s将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串charstrncatchar*dest,constchar*src,size_tmaxlen将字符串src中最多maxlen个字符复制到字符串dest中intstrncmpconstchar*s1,constchar*s2,size_tmaxlen比较字符串s1与s2中的前maxlen个字符charstrncpychar*dest,constchar*src,size_tmaxlen复制src中的前maxlen个字符到dest中intstrnicmpconstchar*s1,constchar*s2,size_tmaxlen比较字符串s1与s2中的前maxlen个字符charstrnsetchar*s,intch,size_tn将字符串s的前n个字符置于ch中charstrpbrkconstchar*s1,constchar*s2扫描字符串s1,并返回在s1和s2中均有的字符个数charstrrchrconstchar*s,intc扫描最后出现一个给定字符c的一个字符串scharstrrevchar*s将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串charstrsetchar*s,intch将一个字符串s中的所有字符置于一个给定的字符chsize_tstrspnconstchar*s1,constchar*s2扫描字符串s1,并返回在s1和s2中均有的字符个数charstrstrconstchar*s1,constchar*s2扫描字符串s2,并返回第一次出现s1的位置charstrtokchar*s1,constchar*s2检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔charstruprchar*s将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串存贮分配子程序,所在函数库为dos.h、alloc.h、malloc.h、stdlib.h、process.hintallocmemunsignedsize,unsigned*seg利用DOS分配空闲的内存,size为分配内存大小,seg为分配后的内存指针intfreememunsignedseg释放先前由allocmem分配的内存,seg为指定的内存指针intsetblockintseg,intnewsize本函数用来修改所分配的内存长度,seg为已分配内存的内存指针,newsize为新的长度intbrkvoid*endds本函数用来改变分配给调用程序的数据段的空间数量,新的空间结束地址为enddschar*sbrkintincr本函数用来增加分配给调用程序的数据段的空间数量,增加incr个字节的空间unsignedlongcoreleft本函数返回未用的存储区的长度,以字节为单位void*callocunsignednelem,unsignedelsize分配nelem个长度为elsize的内存空间并返回所分配内存的指针void*mallocunsignedsize分配size个字节的内存空间,并返回所分配内存的指针voidfreevoid*ptr释放先前所分配的内存,所要释放的内存的指针为ptrvoid*reallocvoid*ptr,unsignednewsize改变已分配内存的大小,ptr为已分配有内存区域的指针,newsize为新的长度,返回分配好的内存指针.longfarcoreleft本函数返回远堆中未用的存储区的长度,以字节为单位voidfar*farcallocunsignedlongunits,unsignedlongunitsz从远堆分配units个长度为unitsz的内存空间,并返回所分配内存的指针void*farmallocunsignedlongsize分配size个字节的内存空间,并返回分配的内存指针voidfarfreevoidfar*block释放先前从远堆分配的内存空间,所要释放的远堆内存的指针为blockvoidfar*farreallocvoidfar*block,unsignedlongnewsize改变已分配的远堆内存的大小,block为已分配有内存区域的指针,newzie为新的长度,返回分配好的内存指针。
赖鸣晓2019-12-21 21:01:41