命名空间
变体
操作

std::strstr

来自 cppreference.com
< cpp‎ | string‎ | byte
定义在头文件 <cstring>
const char* strstr( const char* haystack, const char* needle );
      char* strstr(       char* haystack, const char* needle );

在由 haystack 指向的字节字符串中查找字节字符串 needle 的第一次出现。不会比较终止的 null 字符。

内容

[编辑] 参数

haystack - 指向要检查的以 null 结尾的字节字符串的指针
needle - 指向要搜索的以 null 结尾的字节字符串的指针

[编辑] 返回值

指向在 haystack 中找到的子字符串的第一个字符的指针,如果未找到此类字符,则为 null 指针。如果 needle 指向空字符串,则返回 haystack

[编辑] 示例

#include <cstring>
#include <iomanip>
#include <iostream>
 
int main()
{
    const char* str = "Try not. Do, or do not. There is no try.";
    const char* target = "not";
 
    for (const char* result = str; (result = std::strstr(result, target)); ++result)
        std::cout << "Found " << std::quoted(target)
                  << " starting at (" << result - str << "): "
                  << std::quoted(result) << '\n';
}

输出

Found "not" starting at (4): "not. Do, or do not. There is no try."
Found "not" starting at (19): "not. There is no try."

[编辑] 另请参阅

查找给定子字符串的第一次出现
(std::basic_string<CharT,Traits,Allocator> 的公共成员函数) [编辑]
在另一个宽字符串中查找宽字符串的第一次出现
(函数) [编辑]
查找字符的第一次出现
(函数) [编辑]
查找字符的最后一次出现
(函数) [编辑]
C 文档 for strstr