检查字符串中是否包含指定子串:使用strstr()函数
发布时间:2023-07-01 17:41:09
strstr()函数是C语言中的一种字符串处理函数,用于检查一个字符串中是否包含指定的子串。该函数的原型如下:
char* strstr(const char* str1, const char* str2);
其中,str1是源字符串,str2是要查找的子串。函数返回一个指针,指向字符串str2在字符串str1中 次出现的位置,如果不存在则返回NULL。
该函数的使用步骤如下:
1. 首先,需要包含头文件<string.h>。
2. 创建一个源字符串和一个子串。
3. 调用strstr()函数,传入源字符串和子串作为参数。
4. 检查返回值,如果为NULL,表示子串不在源字符串中,如果不为NULL,则表示子串在源字符串中。
5. 根据需要进行后续处理。
下面是一个示例程序,对以上步骤进行了具体的实现:
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("Enter a string: ");
gets(str1);
printf("Enter a sub string: ");
gets(str2);
if(strstr(str1, str2)) {
printf("Substring '%s' is present in string '%s'.
", str2, str1);
} else {
printf("Substring '%s' is not present in string '%s'.
", str2, str1);
}
return 0;
}
在这个程序中,用户需要输入一个字符串和一个子串。然后程序调用strstr()函数来检查子串是否在字符串中,并根据结果输出相应的信息。
需要注意的是,由于strstr()函数是基于C语言的字符串处理函数,所以在处理C++的std::string对象时,使用find()或者compare()等函数更为方便。
