strstr 的使用和模拟实现

strstr 的使用和模拟实现

char * strstr ( const char * str1, const char * str2);

Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not part of str1.
(函数返回字符串str2在字符串str1中第⼀次出现的位置)。
The matching process does not include the terminating null-characters, but it stops there.(字符串的比较匹配不包含 \0 字符,以 \0 作为结束标志)。

/* strstr example */
#include <stdio.h>
#include <string.h>
int main ()
{
 char str[] ="This is a simple string";
 char * pch;
 pch = strstr (str,"simple");
 strncpy (pch,"sample",6);
 printf("%s\n", str);
 return 0;
}

strstr的模拟实现:

char * strstr (const char * str1, const char * str2)
{
 char *cp = (char *) str1;
 char *s1, *s2;
 if ( !*str2 )
 return((char *)str1);
 while (*cp)
 {
 s1 = cp;
 s2 = (char *) str2;
 while ( *s1 && *s2 && !(*s1-*s2) )
 s1++, s2++;
 if (!*s2)
 return(cp);
 cp++;
 }
 return(NULL);
}

相关推荐

  1. strstr 使用模拟实现

    2024-04-02 00:02:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 00:02:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 00:02:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 00:02:03       82 阅读
  4. Python语言-面向对象

    2024-04-02 00:02:03       91 阅读

热门阅读

  1. 开闭原则(Open Closed Principle)

    2024-04-02 00:02:03       40 阅读
  2. C++经典面试题目(十七)

    2024-04-02 00:02:03       32 阅读
  3. C语言之零基础速成(进制转换秘籍篇)

    2024-04-02 00:02:03       36 阅读
  4. 在Compose中使用状态提升?我提升个P...Provider

    2024-04-02 00:02:03       37 阅读
  5. Python爬虫-request模块

    2024-04-02 00:02:03       32 阅读
  6. 代码随想录刷题-回溯

    2024-04-02 00:02:03       28 阅读
  7. FastAPI+React全栈开发17 让我们创建一个React应用

    2024-04-02 00:02:03       28 阅读
  8. 排序算法-选择排序

    2024-04-02 00:02:03       35 阅读
  9. ssh 启动 docker 中 app, docker logs 无日志

    2024-04-02 00:02:03       30 阅读