什么是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 youEnter 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 ProgrammingEnter 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