2025年strstr函数详解

strstr函数详解目录 一 strstr 函数是什么 二 使用场景 1 用来找出字符串 1 在字符串 2 的位置 2 用来判断字符串 1 中有没有字符串 2 总结 一 strstr 函数是什么 strstr 函数 是 C 语言中的一个标准库函数 使用时要引入头文件 string h

大家好,我是讯享网,很高兴认识大家。


目录

一、strstr函数是什么?

二、使用场景

1.用来找出字符串1在字符串2的位置

2.用来判断字符串1中有没有字符串2


讯享网

总结


一、strstr函数是什么?

strstr函数是 C 语言中的一个标准库函数(使用时要引入头文件string.h),用于在一个字符串中查找另一个字符串首次出现的位置。如果找到子串,则返回子串在主串中首次出现的位置的指针;如果未找到,则返回 NULL。

二、使用场景

1.用来找出字符串1在字符串2的位置

编写一个C语言程序,定义两个字符串str1和str2,然后使用strstr函数来检查str2是否是str1的子串。如果是,打印出str2在str1中首次出现的位置(从0开始计数);如果不是,则打印出否。

//C语言 #include <stdio.h> #include <string.h> int main(void) {      const char *str1 = "Hello, world!";      const char *str2 = "world";      char *result;          result = strstr(str1, str2); //返回值类型为指针类型?      if (result != NULL) {              printf("'%s' 是 '%s'的子集\n", str2, str1);              printf("'%s'第一次出现在:第 %ld个位置\n", str2, result - str1);          } else {              printf("'%s'不是 '%s'的子集\n", str2, str1);          }               return 0;     }  

讯享网

2.用来判断字符串1中有没有字符串2

例如蓝桥杯中的题目

小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如 就是一个顺子日期,因为它出现了一个顺子:123; 而 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?

讯享网#include<stdio.h> #include<string.h> int main(void){     char num[8];     int count=0;     int monthDays[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//年份固定2022是平年     for(int i=1;i<=12;i++)//遍历月份     {         for(int j=1;j<=monthDays[i];j++)//遍历每月日期         {              int sum=2022*10000+i*100+j;             sprintf(num,"%lld",sum); //        因为234等等不合法,顺子只有012和123             if(strstr(num,"012")!=NULL||strstr(num,"123")!=NULL){                 count++; }         }     }     printf("%d",count);     return 0;  }
 

总结

strstr函数是一个方便的工具,用于在字符串中查找子串。

小讯
上一篇 2025-01-15 20:08
下一篇 2025-01-06 18:58

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/72693.html