欢迎访问宙启技术站
智能推送

检查字符串中是否包含指定子串:使用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()等函数更为方便。