自己實現strchr函式與strstr函式
阿新 • • 發佈:2018-11-19
char * Strchr(char to[], char Ch) { int i = 0; while (to[i] != Ch && to[i] != '\0') i++; return to[i] != '\0' ? to + i : NULL; }
char* my_strchr(char* str, int i) { if (NULL == str) { return NULL; } while ('\0' != *str && (char)i != *str) { ++str; }if ((char)i == *str) { return (char*)str; } return NULL; }
const char *my_strstr(const char *str, const char *sub_str) { for(int i = 0; str[i] != '\0'; i++) { int tem = i; //tem保留主串中的起始判斷下標位置 int j = 0; while(str[tem++] == sub_str[j++]) {if(sub_str[j] == '\0') { return &str[i]; } } } return NULL; }
char* my_strstr(char* sr, const char* dest) { if (NULL == sr || NULL == dest) { return NULL; } while ('\0' != *sr) {const char* str_str = sr; const char* temp_dest = dest; while ('\0' != *temp_dest) { if (*temp_dest != *str_str) break; if ('\0' == *(++temp_dest)) return (char*)sr; if ('\0' == *(++str_str)) return NULL; } ++sr; } return NULL; }