问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言函数的操作函数

发布网友 发布时间:2022-04-28 15:38

我来回答

1个回答

热心网友 时间:2022-06-19 11:40

所在函数库为string.h、mem.h
mem…操作存贮数组
void *mem*y(void *destin,void *source,unsigned char ch,unsigned n)
void *memchr(void *s,char ch,unsigned n)
void *memcmp(void *s1,void *s2,unsigned n)
int memicmp(void *s1,void *s2,unsigned n)
void *memmove(void *destin,void *source,unsigned n)
void *memcpy(void *destin,void *source,unsigned n)
void *memset(void *s,char ch,unsigned n)
这些函数,mem…系列的所有成员均操作存贮数组.在所有这些函数中,数组是n字节长.
memcpy从source复制一个n字节的块到destin.如果源块和目标块重叠,则选择复制方向,
以例正确地复制覆盖的字节.
memmove与memcpy相同.
memset将s的所有字节置于字节ch中.s数组的长度由n给出.
memcmp比较正好是n字节长的两个字符串s1和s2.些函数按无符号字符比较字节,因此,
memcmp(0xFF,\x7F,1)返回值大于0.
memicmp比较s1和s2的前n个字节,不管字符大写或小写.
mem*y从source复制字节到destin.复制一结束就发生下列任一情况:
(1)字符ch首选复制到destin.
(2)n个字节已复制到destin.
memchr对字符ch检索s数组的前n个字节.
返回值:memmove和memcpy返回destin
memset返回s的值
memcmp和memicmp─┬─若s1<s2返回值小于0
├─若s1=s2返回值等于0
└─若s1>s2返回值大于0
mem*y若复制了ch,则返回直接跟随ch的在destin中的字节的一个指针;
否则返回NULL
memchr返回在s中首先出现ch的一个指针;如果在s数组中不出现ch,就返回NULL.
void movedata(int segsrc,int offsrc,
int segdest,int offdest,
unsigned numbytes)
本函数将源地址(segsrc:offsrc)处的numbytes个字节
复制到目标地址(segdest:offdest)
void movemem(void *source,void *destin,unsigned len)
本函数从source处复制一块长len字节的数据到destin.若源地址和目标地址字符串
重叠,则选择复制方向,以便正确的复制数据.
void setmem(void *addr,int len,char value)
本函数把addr所指的块的第一个字节置于字节value中.
str…字符串操作函数
char stpcpy(char *dest,const char *src)
将字符串src复制到dest
char strcat(char *dest,const char *src)
将字符串src添加到dest末尾
char strchr(const char *s,int c)
检索并返回字符c在字符串s中第一次出现的位置
int strcmp(const char *s1,const char *s2)
比较字符串s1与s2的大小,并返回s1-s2
char strcpy(char *dest,const char *src)
将字符串src复制到dest
size_t strcspn(const char *s1,const char *s2)
扫描s1,返回在s1中有,在s2中也有的字符个数
char strp(const char *s)
将字符串s复制到最近建立的单元
int stricmp(const char *s1,const char *s2)
比较字符串s1和s2,并返回s1-s2
size_t strlen(const char *s)
返回字符串s的长度
char strlwr(char *s)
将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串
char strncat(char *dest,const char *src,size_t maxlen)
将字符串src中最多maxlen个字符复制到字符串dest中
int strncmp(const char *s1,const char *s2,size_t maxlen)
比较字符串s1与s2中的前maxlen个字符
char strncpy(char *dest,const char *src,size_t maxlen)
复制src中的前maxlen个字符到dest中
int strnicmp(const char *s1,const char *s2,size_t maxlen)
比较字符串s1与s2中的前maxlen个字符
char strnset(char *s,int ch,size_t n)
将字符串s的前n个字符置于ch中
char strpbrk(const char *s1,const char *s2)
扫描字符串s1,并返回在s1和s2中均有的字符个数
char strrchr(const char *s,int c)
扫描最后出现一个给定字符c的一个字符串s
char strrev(char *s)
将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串
char strset(char *s,int ch)
将一个字符串s中的所有字符置于一个给定的字符ch
size_t strspn(const char *s1,const char *s2)
扫描字符串s1,并返回在s1和s2中均有的字符个数
char strstr(const char *s1,const char *s2)
扫描字符串s2,并返回第一次出现s1的位置
char strtok(char *s1,const char *s2)
检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔
char strupr(char *s)
将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串
存贮分配子程序,所在函数库为dos.h、alloc.h、malloc.h、stdlib.h、process.h
int allocmem(unsigned size,unsigned *seg)利用DOS分配空闲的内存,
size为分配内存大小,seg为分配后的内存指针
int freemem(unsigned seg)释放先前由allocmem分配的内存,seg为指定的内存指针
int setblock(int seg,int newsize)本函数用来修改所分配的内存长度,
seg为已分配内存的内存指针,newsize为新的长度
int brk(void *endds)
本函数用来改变分配给调用程序的数据段的空间数量,新的空间结束地址为endds
char *sbrk(int incr)
本函数用来增加分配给调用程序的数据段的空间数量,增加incr个字节的空间
unsigned long coreleft() 本函数返回未用的存储区的长度,以字节为单位
void *calloc(unsigned nelem,unsigned elsize)分配nelem个长度为elsize的内存空间
并返回所分配内存的指针
void *malloc(unsigned size)分配size个字节的内存空间,并返回所分配内存的指针
void free(void *ptr)释放先前所分配的内存,所要释放的内存的指针为ptr
void *realloc(void *ptr,unsigned newsize)改变已分配内存的大小,ptr为已分配有内
存区域的指针,newsize为新的长度,返回分配好的内存指针.
long farcoreleft() 本函数返回远堆中未用的存储区的长度,以字节为单位
void far *farcalloc(unsigned long units,unsigned long unitsz)
从远堆分配units个长度为unitsz的内存空间,并返回所分配内存的指针
void *farmalloc(unsigned long size)分配size个字节的内存空间,
并返回分配的内存指针
void farfree(void far *block)释放先前从远堆分配的内存空间,
所要释放的远堆内存的指针为block
void far *farrealloc(void far *block,unsigned long newsize)改变已分配的远堆内
存的大小,block为已分配有内存区域的指针,newzie为新的长度,返回分配好
的内存指针

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华为手机自动重启怎么回事 保护专利权的法律方法是什么 ...个盘提示“设备1/0错误,无法打开”,我得找里面的文件,怎么办... 地震来临时如何逃生 2024年河北历史类632分能考上什么大学? 2024年河南文科632分能考上什么大学? 2024年广西理科632分能考上什么大学? 2024年江苏历史类632分能考上什么大学? 2024年广东632分能考上什么大学? 2024年黑龙江文科632分能考上什么大学? C语言字符串的应用 在网上找了好几个天正3.0,安装上了都是超出使用期限,我的CAD是2016版的,怎么解决这种问题啊 C++ writestring 为什么不能写进中文 天正给排水t20过期了 怎么破解 【C语言】 这是为什么?! 天正建筑T20过期 c语言题目:乒乓球比赛 天正给排水T20过期了怎么办 天正T20时间过期,不像每次使用更改时间,我的系统WiN7系统,32位,求大侠破解补丁 天正建筑T20V2.0显示过期,试用期已过.网上用注册机再注册进去还是没用。应该怎么办,求详细解答,麻烦啦 用vb,windows窗体应用程序设计一个菱形,用strdup函数 天正软件T20过期 c语言中strrev怎么用? 天正提示说试用时间到期怎么办 关于Windows中C++ strdup()函数的问题,高手求救~~~ 代码是实现 strdup 函数功能的,但是有个错误,写得太渣,求指教 天正建筑t20 v3.0过期了怎么办 MFC _tcsdup怎么用,什么含义 天正建筑T20打开时弹出“超出使用权限”怎么办 VB中的StrDup,什么意思?怎么用? tc窗口内文本操作函数 高分求助!!!C内存泄露检测问题 linux下能够指定位置安装libevent,但是MAKE时报错,求解? 对std:string如何去除前后的空格 荣耀play分屏功能怎么用 华为荣耀play怎么分屏 怎么关闭荣耀play的分屏手势啊? 荣耀play3分屏功能怎么使用 如何把qsv转换成mp4? 谁有ae破解版百度云 求腾讯体育vip破解版百度云 33核桃是什么意思 中国核桃四种最好品种 185核桃的功效 欠钱不还怎么办如何对付欠钱不还的老赖 对欠钱不还的老赖应该采取哪些措施 欠钱不还的老赖法律以后怎么治理 有什么办法能惩治欠钱不还的老赖 欠钱不还的老赖怎么对付? 对于欠债不还的老赖,有哪些惩治办法