跳转到内容

C 编程/string.h/strstr

来自维基教科书,开放的书籍,为开放的世界

strstr是 C 标准库字符串函数,定义在string.h. strstr()具有以下函数签名char * strstr(const char *haystack, const char *needle);该函数返回指向第一个索引的字符的指针,其中needle位于haystack中,如果未找到则返回 NULL。[1]

该函数strcasestr()类似于strstr(),但它会忽略needlehaystack. strcasestr()的大小写,这是一个非标准函数,而strstr()符合 C89 和 C99 标准。[1]

#include <stdio.h>
#include <string.h>

int main(void) 
{
	/* Define a pointer of type char, a string and the substring to be found*/
	char *cptr;
	char str[] = "Wikipedia, be bold";
	char substr[] = "edia, b";

	/* Find memory address where substr "edia, b" is found in str */
	cptr = strstr(str, substr);

	/* Print out the character at this memory address, i.e. 'e' */
	printf("%c\n", *cptr);

	/* Print out "edia, be bold" */
	printf("%s\n", cptr);
	
	return 0;
}

cptr现在指向 "wikipedia" 中的第六个字母 (e).

  • strchr

参考文献

[编辑 | 编辑源代码]
  1. a b strcasestr(3)
[编辑 | 编辑源代码]
华夏公益教科书