memchr -- 在内存空间中搜索一个字符
memchr 函数文档函数概要:
memchr 函数扫描 s 指向的内存空间的前 n 个字节,找到第一个匹配字符 c 时停止操作。
函数原型:
#include <string.h>
...
void *memchr(const void *s, int c, size_t n);
参数解析:
参数 含义
s指向目标内存空间
c指向目标字符
n指定最大扫描字节数
返回值:
1. 如果找到该字符,则返回指向该字符的指针;
2. 如果找不到该字符,返回 NULL。
演示:
#include <stdio.h>
#include <string.h>
int main(void)
{
char str = "FishC.com";
char *ptr = NULL;
ptr = (char *)memchr(str, 'C', 10);
if (ptr != NULL)
{
printf("找到字符C!\n");
}
else
{
printf("找不到字符C!\n");
}
return 0;
}
{:5_91:}不是和strstr一样吗 xw0314 发表于 2016-12-17 15:18
不是和strstr一样吗
mem 开头的主要是用于针对内存空间处理,不过由于内存空间的单位也是字节(跟字符串一样),所以看着两个函数是一样的(事实上返回值就不一样了,一个是返回 char *,一个是返回 void *)。不过在一定的条件下,mem 打头的效率要高一些。 #include <stdio.h>
#include <string.h>
int main(void)
{
char str = "FishC.com";
char *ptr = NULL;
ptr = (char *)memchr(str, 'C', 10);
if (ptr != NULL)
{
printf("找到字符C!\n");
}
else
{
printf("找不到字符C!\n");
}
return 0;
} {:5_100:} 厉害厉害 {:5_106:}
页:
[1]