C语言查找子字符串,举例子详细说明
时间: 2024-12-13 16:23:35 浏览: 10
在C语言中,查找子字符串通常使用`strstr()`函数,它是C标准库中的函数,作用是从主字符串中查找给定的子字符串,并返回第一个匹配的位置。如果找不到子字符串,则返回`NULL`。
下面是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char sub_str[] = "World";
// 使用strstr函数查找子字符串
char* result = strstr(str1, sub_str);
if (result) { // 如果找到子字符串
printf("子串 '%s' 在原字符串 '%s' 中的起始位置是 %lu\n",
sub_str, str1, (unsigned long)result - (unsigned long)str1);
} else {
printf("子串 '%s' 没有在原字符串 '%s' 中找到。\n", sub_str, str1);
}
return 0;
}
```
在这个示例中,`strstr(str1, sub_str)`会搜索`str1`中的子串"World",并返回指向该子串的第一个字符的指针。由于子串从索引0开始,所以计算起始位置时我们会减去`str1`的地址。
运行上述代码,你会看到输出类似这样的结果:
```
子串 'World' 在原字符串 'Hello, World!' 中的起始位置是 7
```
这意味着"World"从原字符串的第8个字符开始(因为索引从0开始计数),整个子串的长度为5。
阅读全文