std::strchr

< cpp‎ | string‎ | byte
定义于头文件 <cstring>
const char* strchr( const char* str, int ch );
      char* strchr(       char* str, int ch );

str 所指向的字节字符串中寻找字符 static_cast<char>(ch) 的首次出现。

认为终止空字符是字符串的一部分,而且若搜索 '\0' 则能找到它。

参数

str - 指向待分析的空终止字节字符串的指针
ch - 要搜索的字符

返回值

指向 str 找到的字符的指针,若未找到该字符则为空指针。

示例

#include <iostream>
#include <cstring>
 
int main()
{
  const char *str = "Try not. Do, or do not. There is no try.";
  char target = 'T';
  const char *result = str;
 
  while ((result = std::strchr(result, target)) != NULL) {
    std::cout << "Found '" << target
              << "' starting at '" << result << "'\n";
 
    // 自增 result,否则我们将找到相同位置的目标
    ++result;
  }
}

输出:

Found 'T' starting at 'Try not. Do, or do not. There is no try.'
Found 'T' starting at 'There is no try.'

参阅

在数组中搜索字符的首次出现
(函数)
于字符串中寻找字符
(std::basic_string<CharT,Traits,Allocator> 的公开成员函数)
寻找宽字符串中宽字符的首次出现
(函数)
寻找字符的最后出现
(函数)
寻找任何来自分隔符集合的字符的首个位置
(函数)