strstr函数实现
时间: 2023-08-26 16:06:51 浏览: 138
strstr函数是C语言中的字符串处理函数,用于在一个字符串中搜索指定子串的第一次出现位置。
下面是一个简单的strstr函数实现示例:
```c
#include <stdio.h>
char* my_strstr(const char* str, const char* substr) {
if (!*substr) {
return (char*)str;
}
while (*str) {
const char* s1 = str;
const char* s2 = substr;
while (*s1 && *s2 && (*s1 == *s2)) {
s1++;
s2++;
}
if (!*s2) {
return (char*)str;
}
str++;
}
return NULL;
}
int main() {
const char* str = "Hello, World!";
const char* substr = "World";
char* result = my_strstr(str, substr);
if (result != NULL) {
printf("Substring found at index: %ld\n", result - str);
} else {
printf("Substring not found\n");
}
return 0;
}
```
在上述示例中,my_strstr函数接受两个参数:str表示要搜索的字符串,substr表示要搜索的子串。函数通过逐个比较字符的方式来搜索子串的第一次出现位置。如果找到了子串,则返回该位置的指针;否则返回NULL。
在main函数中,我们使用my_strstr函数来搜索字符串"Hello, World!"中的子串"World"。如果找到了子串,则打印出子串在原字符串中的索引;否则打印出"Substring not found"。
阅读全文