1. 在程序开发中,经常需要从字符串中查找需要的指定信息,教材中讲解了查找函数strstr()的使用,本案例就来实现strstr()函数。c语言代码
时间: 2024-02-18 21:03:32 浏览: 84
好的,以下是一个简单的实现strstr()函数的C语言代码:
```c
#include <stdio.h>
#include <string.h>
char* my_strstr(const char* str, const char* target) {
int len1 = strlen(str);
int len2 = strlen(target);
if (len1 < len2) return NULL;
for (int i = 0; i <= len1 - len2; i++) {
int j;
for (j = 0; j < len2; j++) {
if (str[i+j] != target[j])
break;
}
if (j == len2)
return (char*) str + i;
}
return NULL;
}
int main() {
char str[] = "Hello World!";
char target[] = "World";
char* result = my_strstr(str, target);
if (result)
printf("Found '%s' in '%s'\n", target, str);
else
printf("'%s' not found in '%s'\n", target, str);
return 0;
}
```
在这个实现中,我们首先计算了目标字符串和要查找的字符串的长度,如果目标字符串比要查找的字符串短,那么肯定找不到,直接返回NULL。
然后,我们开始在目标字符串中查找要查找的字符串。我们遍历目标字符串,对于每一个字符,我们都从它开始,依次和要查找的字符串中的字符比较,如果发现不匹配,则说明这个位置不可能是要查找的字符串的起始位置,我们直接跳到下一个字符继续比较。如果所有字符都匹配上了,说明我们找到了要查找的字符串,我们返回它在目标字符串中的位置。
最后,我们在main函数中演示了如何使用这个函数来查找一个字符串。
阅读全文