什么是C语言中的strstr()函数?

C库函数char * strstr(const char * haystack,const char * needle)函数查找字符串haystack中子字符串needle的第一个匹配项。不比较结尾的'\ 0'字符。

字符数组称为字符串。

宣言

声明数组的语法如下-

char stringname [size];

例如-char string [50]; 长度为50个字符的字符串

初始化

  • 使用单字符常量-

char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}

  • 使用字符串常量-

char string[10] = “Hello”:;

访问-控制字符串“%s”用于访问字符串,直到遇到“ \ 0”为止。

该strstr()功能

  • 它用于搜索主字符串中是否存在子字符串。

  • 它返回指向s1中s2首次出现的指针。

语法

strstr()函数的语法如下-

strstr(mainsring,substring);

例子1

以下程序显示了strstr()功能的用法。

#include<stdio.h>

void main(){

   char a[30],b[30];

   char *found;

   printf("Enter a string:\n");

   gets(a);

   printf("Enter the string to be searched for:\n");

   gets(b);

   found=strstr(a,b);

   if(found)

      printf("%s is found in %s in %d position",a,b,found-a);

   else

      printf("-1 since the string is not found");

}

输出结果

执行以上程序后,将产生以下结果-

Enter a string: how are you

Enter the string to be searched for: you

you is found in 8 position

例子2

让我们来看看另一个关于strstr()函数的程序。

下面给出的是一个C程序,该字符串通过使用strstr库函数来查找另一个字符串中是否存在一个字符串作为子字符串-

#include<stdio.h>

#include<string.h>

void main(){

   //Declaring two strings//

   char mainstring[50],substring[50];

   char *exists;

   //Reading strings//

   printf("Enter the main string : \n ");

   gets(mainstring);

   printf("Enter the sub string you would want to check if exists in main

   string :");

   gets(substring);

   //Searching for sub string in main string using library function//

   exists = strstr(mainstring,substring);

   //Conditions//

   if(exists){

      printf("%s exists in %s ",substring,mainstring);

   }else{

      printf("'%s' is not present in '%s'",substring,mainstring);

   }

}

输出结果

执行以上程序后,将产生以下结果-

Enter the main string : nhooo c Programming

Enter the sub string you would want to check if exists in main string :Programming

Programming exists in nhooo c Programming

以上是 什么是C语言中的strstr()函数? 的全部内容, 来源链接: utcz.com/z/344851.html

回到顶部