strchr

来自cppreference.com
< c‎ | string‎ | byte
定义于头文件 <string.h>
char *strchr( const char *str, int ch );

寻找ch(按照如同(char)ch的方式转换成char后)在str所指向的空终止字节字符串(每个字符都被看做unsigned char)中的首次出现位置。终止的空字符被认为是字符串的一部分,并且能在寻找'\0'时被找到。

str不是指向空终止字节字符串的指针,则行为未定义。

目录

[编辑] 参数

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

[编辑] 返回值

指向str找到的字符的指针,在未找到该字符时返回空指针。

[编辑] 示例

#include <stdio.h>
#include <string.h>
 
int main(void)
{
  const char *str = "Try not. Do, or do not. There is no try.";
  char target = 'T';
  const char *result = str;
 
  while((result = strchr(result, target)) != NULL) {
    printf("Found '%c' starting at '%s'\n", target, result);
    ++result; // result自增,否则我们会找到相同位置的目标
  }
}

输出:

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

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.24.5.2 The strchr function (p: 367-368)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.21.5.2 The strchr function (p: 330)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.11.5.2 The strchr function

[编辑] 参阅

查找字符的最后一次出现
(函数) [edit]
查找一个字符串中的任意一个字符在另一个字符串中的首个位置
(函数) [edit]
strchrC++文档