You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LPCSTR类型的字符串中搜索指定的子字符串

判断方法

你代码里的LPCSTR是Windows平台定义的类型别名,本质就是以空字符结尾的常量ANSI字符串指针,等价于标准C的const char *,直接调用C标准库提供的strstr函数即可完成子串匹配判断。

具体实现逻辑

  • 先引入<string.h>头文件,该头文件声明了strstr函数
  • 调用strstr(foo, "hello"),该函数会返回hello在foo中首次出现的起始地址,若找不到匹配的子串则返回NULL
  • 只需判断返回值是否非空,即可确认foo是否包含目标子串

可运行示例代码

#include <windows.h>
#include <stdio.h>
#include <string.h>

int main() {
    typedef _Null_terminated_ CONST CHAR *LPCSTR, *PCSTR;
    LPCSTR foo = "hello world";

    if (strstr(foo, "hello") != NULL) {
        printf("foo包含子串\"hello\"\n");
    } else {
        printf("foo不包含子串\"hello\"\n");
    }
    return 0;
}

注意事项

  • 如果你后续要处理宽字符版本的LPCWSTR字符串,需要替换为宽字符对应的搜索函数wcsstr
  • 必须确保foo是合法的空终止字符串,否则strstr会出现内存越界的未定义行为,你当前代码中foo指向字符串常量,本身自带空终止符,无需额外处理

内容的提问来源于stack exchange,提问作者user16872085

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:39:03