#include <cstdio>
#include <cstring>
//原型
//void *memchr(const void *str, int c, size_t n)
// 搜索参数str指向的字符串的前n个字节中第一次出现的字符c(unsigned char类型)。
void *Alex_memchr(const void *str, int c, size_t n);
int main()
{
const char str[] = "Alex is cool!";
char *ret = NULL;
//ret = (char*)memchr(str, 'i', strlen(str));
ret = (char*)Alex_memchr(str, 'i', strlen(str));
printf("ret: %c\n", *ret);
printf("ret: %s\n", ret);
return 0;
}
void *Alex_memchr(const void *str, int c, size_t n)
{
while(n && (*((unsigned char*)str) != (unsigned char) c))
{
str = (unsigned char*)str + 1;
--n;
}
return n?(void*)str:NULL;
}
我的C/C++库理解之memchr
最新推荐文章于 2025-04-06 12:44:58 发布