vc字符串大全(2)
时间:2025-04-22
时间:2025-04-22
高中物理教学艺术
nclude<string.h>
main()
{
char a[]="string[a]";
char b[]="string(b)";
memccpy(a,b,'B',sizeof(b));
printf("memccpy():%s\n",a);
}
执行 memccpy():string(b)
memchr(在某一内存范围中查找一特定字符) 相关函数 index,rindex,strchr,strpbrk,strrchr,strsep,strspn,strstr
表头文件 #include<string.h>
定义函数 void * memchr(const void *s,int c,size_t n);
函数说明 memchr()从头开始搜寻s所指的内存内容前n个字节,直到发现第一个值为c的字节,则返回指向该字节的指针。
返回值 如果找到指定的字节则返回该字节的指针,否则返回0。
范例 #include <string.h>
main()
{
char *s="0123456789012345678901234567890";
char *p;
p=memchr(s,'5',10);
printf("%s\n",p);
}
执行 5.68E+25
memcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp
表头文件 #include<string.h>
定义函数 int memcmp (const void *s1,const void *s2,size_t n);
函数说明 memcmp()用来比较s1和s2所指的内存区间前n个字符。字符串大小的比较是以ASCII码表上的顺序来决定,次顺序亦为字符的值。memcmp ()首先将s1第一个字符值减去s2第一个字符的值,若差为0则再继续比较下个字符,若差值不为0则将差值返回。例如,字符串"Ac"和"ba"比较则会 返回字符'A'(65)和'b'(98)的差值(-33)。
返回值 若参数s1和s2所指的内存内容都完全相同则返回0值。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0的值。
范例 #include<string.h>
main()
{
char *a ="aBcDeF";
char *b="AbCdEf";
char *c="aacdef";
char *d="aBcDeF";
printf("memcmp(a,b):%d\n",memcmp((void*)a,(void*) b,6));
printf("memcmp(a,c):%d\n",memcmp((void*)a,(void*) c,6));
printf("memcmp(a,d):%d\n",memcmp((void*)a,(void*) d,6));
执行 memcmp(a,b):1 /*字符串a>字符串b,返回1*/
memcmp(a,c):-1 /* 字符串a<字符串c,返回-1*/
memcmp(a,d):0 /*字符串a=字符串d,返回0*/
memcpy(拷贝内存内容) 相关函数 bcopy,memccpy,memcpy,memmove,strcpy,strncpy
表头文件 #include<string.h>
定义函数 void * memcpy (void * dest ,const void *src, size_t n);
函数说明 memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束。
返回值 返回指向dest的指针。
附加说明 指针src和dest所指的内存区域不可重叠。
范例 #include<string.h>
main()
{
char a[30]="string (a)";
char b[30]="string\0string";
int i;
strcpy(a,b);
printf("strcpy():");
for(i=0;i<30;i++)
printf("%c",a[i]);
memcpy(a,b,30);
printf("\nmemcpy() :");
for(i=0;i<30
;i++)
printf("%c",a[i]);
}
执行 strcpy() : string a )
memcpy() : string string
memmove(拷贝内存内容) 相关函数 bcopy,memccpy,memcpy,strc
上一篇:鸦片战争后的中国社会经济
下一篇:期末物理重难点复习