C语言实现字符串模式匹配
时间: 2023-12-25 17:02:52 浏览: 98
字符串模式匹配是指在一个字符串中寻找另一个字符串的过程。C语言中可以通过暴力匹配算法、KMP算法、Boyer-Moore算法等多种算法实现字符串模式匹配。
以下是一个简单的暴力匹配算法实现字符串模式匹配的示例代码:
```c
#include <stdio.h>
#include <string.h>
int match(char *str, char *pattern) {
int len1 = strlen(str);
int len2 = strlen(pattern);
int i, j;
for (i = 0; i <= len1 - len2; i++) {
for (j = 0; j < len2; j++) {
if (str[i+j] != pattern[j]) {
break;
}
}
if (j == len2) {
return i;
}
}
return -1;
}
int main() {
char str[] = "hello world";
char pattern[] = "world";
int pos = match(str, pattern);
if (pos != -1) {
printf("pattern found at position %d\n", pos);
} else {
printf("pattern not found\n");
}
return 0;
}
```
该代码通过两个嵌套的循环遍历原始字符串和模式字符串,并比较每个字符是否相等。如果找到了匹配的子串,返回其在原始字符串中的位置;否则返回-1。
阅读全文