C语言:字符串处理函数strstr分析

在 C 语言中,strstr 函数用于查找一个字符串中是否存在另一个字符串。它的主要功能是搜索指定的子字符串,并返回该子字符串在目标字符串中第一次出现的位置的指针。如果没有找到子字符串,则返回 NULL

详细说明:

  • 头文件: strstr 定义在 <string.h> 中。

  • 函数原型:

    c 复制代码
    char *strstr(const char *haystack, const char *needle);
  • 参数说明:

    • haystack:目标字符串,即在这个字符串中进行查找。
    • needle:要查找的子字符串。
  • 返回值:

    • 如果找到子字符串,则返回指向该子字符串首次出现位置的指针。
    • 如果没有找到子字符串,则返回 NULL
    • 如果 needle 是空字符串,则返回 haystack

示例代码:

c 复制代码
#include <stdio.h>
#include <string.h>

int main() {
    const char *text = "Hello, world!";
    const char *substr = "world";
    char *result = strstr(text, substr);
    
    if (result != NULL) {
        printf("找到了子字符串:%s\n", result);
    } else {
        printf("没有找到子字符串。\n");
    }
    
    return 0;
}

在这个示例中,如果目标字符串 text 中包含 substr,那么 strstr 将返回从 substr 开始的部分字符串的地址,否则返回 NULL

相关推荐
Highcharts.js3 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
头发还在的女程序员5 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
爱写代码的小朋友7 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华7 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
小小晓.7 小时前
C++:语句和作用域
开发语言·c++
wanderist.8 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
海天鹰9 小时前
PHP上传文件
android·开发语言·php
Yeauty10 小时前
渲染成图再 CLI 拼接,还是进程内直推?Rust 帧到视频的两条路
开发语言·rust·音视频
geovindu11 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
库克克11 小时前
【C++】set 与multiset
开发语言·c++