找回密码
 立即注册
查看: 674|回复: 2

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

[复制链接]

该用户从未签到

1

主题

1

回帖

15

积分

新手上路

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

使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
    发表于 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 | 显示全部楼层
    谢谢,已经那样做了
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-19 01:57 , Processed in 0.055249 second(s), 37 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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