检查字符串是否包含C中的子字符串

时间:2014-10-07 08:09:06

标签: c arrays string char

我想知道是否有办法在substring数组中查找char*

对于Contains()

,我似乎无法从Java找到相等的C

例如:

char *buff = "this is a test string. The string contains random text.";

假设我输入了substring以与buff进行比较,并查看substring中找到buff次的次数。

我能够找到第一次出现但有多次出现的问题。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

有一个名为strstr的标准C库函数可以进行子字符串搜索:

#include <string.h>

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

The strstr() function finds the first occurrence of the substring needle
in the string haystack.  The terminating null bytes ('\0') are not compared.

答案 1 :(得分:1)

这样的函数名为strstr,并在标题<string.h>

中声明

来自C标准

7.23.5.7 strstr函数 概要 1

#include <string.h>
char *strstr(const char *s1, const char *s2);

描述 2 strstr函数定位s2指向的字符串中字符序列(不包括终止空字符)的s1指向的字符串中的第一个匹配项。

返回 3 strstr函数返回指向所定位字符串的指针,如果找不到该字符串则返回空指针。如果s2指向长度为零的字符串,则该函数返回s1。