函数
<cstring>

strchr

const char * strchr ( const char * str, int character );      char * strchr (       char * str, int character );
在字符串中定位字符首次出现的位置
返回一个指向 C 字符串 strcharacter 首次出现位置的指针。

字符串的终止空字符被视为 C 字符串的一部分。因此,也可以定位该字符以获取指向字符串末尾的指针。

参数

str
C 字符串。
character
要定位的字符。它作为其int类型提升传递,但在内部会转换回 char 进行比较。

返回值

一个指向 strcharacter 首次出现位置的指针。
如果未找到该 character,函数返回一个空指针。

可移植性

在 C 语言中,此函数仅声明为

char * strchr ( const char *, int );

而不是 C++ 中提供的两个重载版本。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* strchr example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  printf ("Looking for the 's' character in \"%s\"...\n",str);
  pch=strchr(str,'s');
  while (pch!=NULL)
  {
    printf ("found at %d\n",pch-str+1);
    pch=strchr(pch+1,'s');
  }
  return 0;
}

输出

Looking for the 's' character in "This is a sample string"...
found at 4
found at 7
found at 11
found at 18


另见