1.描述
-
const char * strchr ( const char * str, int character );
char * strchr ( char * str, int character );
- 字符匹配函数,成功返回在str中的地址,失败返回NULL,\0也作为匹配的字符。
- 库函数缺乏安全检查,空指针会崩溃。
- 通过定义字符为Int型,通过比较ascii码来实现传入数据。
2.代码展示
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
char* mystrchr( char*str, int character)
{
assert(str);
while (*str)
{
if (*str == character)
return str;
++str;
}
if (*str == character)
return str;
return NULL;
}
void test4()
{
char* ret;
char arr1[] = "abcdef";
//char *arr1 = NULL;
int n1 ='\0';
ret = strchr(arr1, n1);
printf("%p %s\n", ret, ret);
int n2 = '\0';
char arr2[] = "abcdef";
//char *arr2 = NULL;
ret = mystrchr(arr2, n2);
printf("%p %s\n", ret, ret);
}
int main()
{
test4();
system("pause");
return 0;
}