找回密码
 立即注册
查看: 1371|回复: 3

弱弱的问个问题,C251中没strstr函数

[复制链接]

1

主题

1

回帖

15

积分

新手上路

积分
15
发表于 2023-2-10 15:12:06 | 显示全部楼层 |阅读模式
stiring.h中不包含strstr函数,怎么办?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2023-2-10 15:52:54 | 显示全部楼层
没有的话可以自己写一个,网上基本上都能找到相关参考资料:

  1. //(1)库中的代码如下:
  2. char * strstr ( const char * str1, const char * str2 )
  3. {
  4.         char *cp = (char *) str1;
  5.         char *s1, *s2;
  6.   
  7.         if ( !*str2 )
  8.             return((char *)str1);
  9.   
  10.         while (*cp)
  11.         {
  12.                 s1 = cp;
  13.                 s2 = (char *) str2;
  14.   
  15.                 while ( *s1 && *s2 && !(*s1-*s2) )/*在c语言中指针与指针相减,得到的是元素的个数*/
  16.                         s1++, s2++;
  17.   
  18.                 if (!*s2)
  19.                         return(cp);
  20.   
  21.                 cp++;
  22.         }
  23.   
  24.         return(NULL);
  25.   
  26. }
  27. //(2)参考代码:
  28. # include <stdio.h>
  29. char * my_strstr( const char *s1, const char *s2)  
  30. {  
  31.     int n=0;  //在开始比较字符相等时走的步数
  32.     if (*s2)  
  33.     {  
  34.         while (*s1)  
  35.         {  
  36.             if (*(s1 + n) == *(s2 + n))
  37.             {
  38.                 if (*(s2 + n + 1) == NULL)
  39.                 {
  40.                     return (char *)s1;
  41.                 }
  42.                n++;
  43.             }
  44.            /* for (n=0; *(s1 + n) == *(s2 + n); n++)  
  45.             {  
  46.   
  47.                 if (*(s2 + n + 1)==NULL)  
  48.                     return (char *)s1;  
  49.             }  */
  50.             s1++;    //只要第n次不相等时,就进行s1++,直到满足条件时开始返回执行循环语句
  51.         }  
  52.         return NULL;  
  53.     }  
  54.     else  
  55.         return NULL;
  56. }
复制代码


1

主题

1

回帖

15

积分

新手上路

积分
15
发表于 2023-2-10 17:49:37 | 显示全部楼层
谢谢,已经那样做了
  • 打卡等级:以坛为家I
  • 打卡总天数:352
  • 最近打卡:2025-04-30 08:09:24

1

主题

30

回帖

1519

积分

金牌会员

积分
1519
发表于 2025-2-19 20:29:26 | 显示全部楼层
乘风*** 发表于 2023-2-10 15:52
没有的话可以自己写一个,网上基本上都能找到相关参考资料:

非常感谢,我今天也遇到了这个问题
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:17 , Processed in 0.269945 second(s), 64 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表