函数
<cstring>

strstr

const char * strstr ( const char * str1, const char * str2 );      char * strstr (       char * str1, const char * str2 );
定位子字符串
如果 str2str1 的一部分,则返回指向 str2str1 中第一次出现的指针;否则返回空指针。

匹配过程不包括终止空字符,但在那里停止。

参数

str1
要被扫描的 C 字符串。
str2
包含要匹配的字符序列的C字符串。

返回值

指向 str1 中指定的所有 str2 字符序列的第一次出现的指针,如果序列在 str1 中不存在,则为指向空指针。

可移植性

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

char * strstr ( const char *, const char * );

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

示例

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

int main ()
{
  char str[] ="This is a simple string";
  char * pch;
  pch = strstr (str,"simple");
  if (pch != NULL)
    strncpy (pch,"sample",6);
  puts (str);
  return 0;
}
此示例搜索"simple"字符串中的子字符串,并将该单词替换为"sample".

输出

This is a sample string


另见