您当前的位置:首页 > 圈子

strstr函数的用法例子

2024-10-05 13:03:48 作者:石家庄人才网

石家庄人才网今天给大家分享《strstr函数的用法例子》,石家庄人才网小编对内容进行了深度展开编辑,希望通过本文能为您带来解惑。

strstr函数是一个常用的字符串查找函数,它用于在一个字符串中查找另一个字符串第一次出现的位置。如果找到了,则返回第一次出现的位置的指针;否则,返回NULL。

函数原型如下:

```cchar ○strstr(const char ○haystack, const char ○needle);```

参数说明:

○ haystack:要查找的字符串。○ needle:要查找的子字符串。

返回值:

○ 如果找到了子字符串,则返回第一次出现的位置的指针。○ 如果没有找到子字符串,则返回NULL。

下面是一些strstr函数的用法例子:

例子1:查找一个字符串是否包含另一个字符串

```c#include #include int main() { char str[] = "This is a test string."; char ○sub = "test"; char ○result = strstr(str, sub); if (result != NULL) { printf("'%s' contains '%s'\n", str, sub); } else { printf("'%s' does not contain '%s'\n", str, sub); } return 0;}```

输出结果:

`'This is a test string.' contains 'test'`

例子2:查找一个字符串中另一个字符串出现的所有位置

```c#include #include int main() { char str[] = "This is a test string. This is another test string."; char ○sub = "test"; char ○result = strstr(str, sub); while (result != NULL) { printf("'%s' found at index %ld\n", sub, result - str); result = strstr(result + 1, sub); } return 0;}```

输出结果:

`'test' found at index 10'test' found at index 38`

例子3:使用strstr函数实现简单的字符串替换

```c#include #include int main() { char str[] = "This is a test string."; char ○old_str = "test"; char ○new_str = "example"; char ○result = strstr(str, old_str);

strstr函数的用法例子

if (result != NULL) { // 计算新字符串的长度 size_t new_len = strlen(str) - strlen(old_str) + strlen(new_str); // 分配内存 char ○new_str = (char ○)malloc(new_len + 1); // 复制字符串 strncpy(new_str, str, result - str); new_str[result - str] = '\0'; strcat(new_str, new_str); strcat(new_str, result + strlen(old_str)); // 打印结果 printf("Original string: %s\n", str); printf("Replaced string: %s\n", new_str); // 释放内存 free(new_str); } else { printf("'%s' not found in '%s'\n", old_str, str); } return 0;}```

输出结果:

`Original string: This is a test string.Replaced string: This is a example string.`

石家庄人才网小编对《strstr函数的用法例子》内容分享到这里,如果有相关疑问请在本站留言。

版权声明:《strstr函数的用法例子》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/quanzi/11502.html