原型:extern void *memchr(void *buf, char ch, unsigned count);
用法:#include <string.h>
功能:从buf所指内存区域的前count个字节查找字符ch。
说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。
举例:
// memchr.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *s="Hello, Programmers test!";
char *p;
p=memchr(s,'P',strlen(s));
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
用法:#include <string.h>
功能:从buf所指内存区域的前count个字节查找字符ch。
说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。
举例:
// memchr.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *s="Hello, Programmers test!";
char *p;
p=memchr(s,'P',strlen(s));
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
和strchr的区别就是,memchar针对与内存操作,shtchr只能是字符串操作。
17 int test[20]={10,0,5,6,3,4,6,4,12,3};
18 int *ab;
19
20 ab = memchr(test,5,sizeof(test));
21
22
23 printf("a is %d\n",ab[0]);
24 printf("a is %d\n",ab[1]);
25 printf("a is %d\n",ab[2]);
26 printf("a is %d\n",ab[3]);
27 printf("a is %d\n",ab[4]);
输出
a is 5
a is 6
a is 3
a is 4
a is 6