模拟实现strchr函数

    技术2026-03-15  4

    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; }

    3.结果展示

    Processed: 0.013, SQL: 9