C语言查找子字符串,举例子详细说明
时间: 2024-12-13 14:23:35 浏览: 25
在C语言中,查找子字符串通常使用strstr()
函数,它是C标准库中的函数,作用是从主字符串中查找给定的子字符串,并返回第一个匹配的位置。如果找不到子字符串,则返回NULL
。
下面是一个简单的例子:
#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。
相关推荐


















