2024年3月26日发(作者:)

strstr函数的用法

strstr函数是C语言标准库中的一个字符串处理函数,其作用是在一个字符串中查找

另一个字符串的第一次出现位置。本文将详细介绍strstr函数的用法,并通过示例代码展

示其在实际编程中的应用。

一、函数原型及含义

先来看一下strstr函数的函数原型:

```

char *strstr(const char *str1, const char *str2);

```

该函数的返回类型为char *,即指针类型,表示返回值为一个字符指针,指向查找到

的字符串的第一次出现位置。str1和str2分别为两个字符串指针,表示在str1字符串中

查找str2字符串的第一次出现位置。

如果找到了str2在str1中的第一次出现位置,则返回该位置的指针;否则返回

NULL。

二、函数使用方法

strstr函数的使用方法比较简单,只需要提供两个字符串参数即可。以下是一个简单

的示例代码:

```

#include

#include

char str1[] = "hello, world!";

char str2[] = "world";

char *ptr = strstr(str1, str2);

if(ptr) {

printf("'%s' is found in '%s' at position %ld.n", str2, str1, ptr - str1);

} else {

printf("'%s' is not found in '%s'!n", str2, str1);

}

return 0;

}

```

运行以上代码,输出结果为:

```

'world' is found in 'hello, world!' at position 7.

```

该示例代码中,定义了两个字符串str1和str2,分别为"hello, world!"和"world"。

然后使用strstr函数查找str2在str1中的位置,并将返回结果赋值给指针变量ptr。如

果找到了,则输出查找字符串、原始字符串和查找位置;否则输出查找字符串未找到信

息。

需要注意的是,在使用strstr函数时,需要先确保被查找的字符串和查找字符串都已

经存在,并且被查找的字符串必须足够长,以避免发生内存错误。

三、函数示例

下面是几个使用strstr函数的示例,更好地理解这个函数。

示例1:查找字符串中的数字子串

该示例代码可以查找一个字符串中的数字字串,例如"12345"、"567"或"0"。代码如

下:

```

#include

#include

#include

char str[] = "C language is 12345 times better than Java!";

char *ptr = str;