C语言字符串处理函数strstr的用法

C语言字符串处理函数strstr的用法

在C语言中,strstr函数是一个字符串处理函数,用于在一个字符串(称为“主字符串”)中查找另一个字符串(称为“子字符串”)的首次出现。如果找到子字符串,则该函数返回一个指向主字符串中子字符串首次出现位置的指针;如果没有找到,则返回NULL。

函数的原型定义在 <string.h> 头文件中:

char *strstr(const char *str1, const char *str2);
  • tr1 是主字符串,即在其中搜索 str2 的字符串。
  • str2 是子字符串,即要在 str1 中搜索的字符串。

以下是一个简单的使用示例:

#include <stdio.h>  
#include <string.h>  
  
int main() {  
    char str1[] = "Hello, World! This is a test.";  
    char str2[] = "World";  
    char *result;  
  
    result = strstr(str1, str2);  
  
    if (result != NULL) {  
        printf("Found '%s' in '%s' at position: %ld\n", str2, str1, result - str1);  
    } else {  
        printf("'%s' not found in '%s'\n", str2, str1);  
    }  
  
    return 0;  
}

在这个例子中,strstr 函数在 str1 中查找 str2("World")。如果找到,它将打印出子字符串在主字符串中的首次出现位置(通过计算返回的指针与主字符串指针的差值得到)。如果未找到,它将打印出相应的消息。

请注意,strstr 函数返回的指针指向的是主字符串中首次出现子字符串的位置,而不是一个新的字符串。因此,返回的指针和主字符串的内存是相关的,并且在使用时需要特别小心,以确保不会超出字符串的边界。

如果代码用法有什么问题,请将问题发至网易邮箱 m17872844806@163.com,作者将及时改正,欢迎与各位老爷交流讨论。

麻烦三连加关注!!!!

比心

posted @ 2024-06-12 18:56  琨为玉也  阅读(111)  评论(0编辑  收藏  举报