c语言查找字符串子串
时间: 2024-01-02 07:04:02 浏览: 198
可以使用C语言中的strstr函数来查找字符串子串。该函数的原型为:
```c
char *strstr(const char *str1, const char *str2);
```
其中,str1为要查找的字符串,str2为要查找的子串。函数返回值为指向第一次出现子串的指针,如果没有找到则返回NULL。
示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello world";
char str2[] = "world";
char *ptr = strstr(str1, str2);
if (ptr != NULL) {
printf("子串在字符串中的位置:%d\n", ptr - str1);
} else {
printf("未找到子串\n");
}
return 0;
}
```
输出结果为:
```
子串在字符串中的位置:6
```
相关问题
c语言判断字符串子字符串
可以使用库函数strstr(),例如:
```c
char *str1 = "hello world";
char *str2 = "world";
char *ptr = strstr(str1, str2);
if (ptr) {
printf("找到子字符串:%s\n", ptr);
} else {
printf("未找到子字符串\n");
}
```
这段代码中,str1为原始字符串,str2为要查找的子字符串,strstr()函数返回子字符串在原始字符串中第一次出现的位置,如果找到了则返回指向该位置的指针,否则返回NULL。可以通过判断返回值是否为NULL来确定是否找到子字符串。
c语言字符串子串匹配
你可以使用C语言中的字符串函数来进行子串匹配。一个常用的函数是`strstr()`,它可以在一个字符串中搜索另一个字符串,并返回第一次出现的位置。下面是一个示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
char* ptr = strstr(str1, str2);
if (ptr != NULL) {
printf("子串找到,位置:%ld\n", ptr - str1);
} else {
printf("子串未找到\n");
}
return 0;
}
```
在这个例子中,我们使用`strstr()`函数在`str1`中查找`str2`。如果找到了子串,`ptr`将指向子串的位置,我们可以通过计算`ptr`和`str1`的差值来得到子串的位置。如果子串未找到,`ptr`将为NULL。
除了`strstr()`函数,C语言还提供了其他一些字符串处理函数,如`strcmp()`、`strlen()`等,你可以根据具体需求选择适合的函数来处理字符串。
阅读全文