C语言strstr函数实例如何详细解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计363个文字,预计阅读时间需要2分钟。
C语言中strstr函数实例详解:
strstr函数用于判断字符串str2是否是str1的子串。如果是,函数返回str2在str1中首次出现的位置;如果不是,则返回NULL。
函数原型:`const char *strstr(const char *str1, const char *str2);`
- str1:待搜索的字符串。- str2:要查找的子串。
如果str2是str1的子串,则strstr函数返回指向str2在str1中首次出现位置的指针;否则返回NULL。
c#include
int main() { const char *str1=Hello, world!; const char *str2=world;
const char *result=strstr(str1, str2);
if (result !=NULL) { printf(子串 '%s' 在 '%s' 中首次出现的位置是:%ld\n, str2, str1, result - str1); } else { printf(子串 '%s' 不在 '%s' 中。\n, str2, str1); }
return 0;}
C 语言中strstr函数实例详解
strstr函数
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL
const char* strstr(const char* str1,const char* str2); char* strstr(char* str1,const char* str2);
库中实现的strstr
#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); puts (str); return 0; }
模拟实现strstr函数
const char* My_strstr(const char* str1, const char* str2) { assert(str1); assert(str2); while (*str1 != '\0') { const char* p1 = str1; const char* p2 = str2; while ((*p1 != '\0') && (*p2 != '\0') && (*p1 == *p2)) { ++p1; ++p2; } if (*p2 == '\0') { return str1; } ++str1; } return NULL; } int main() { char str1[] = "a wwww qqqqqqqqqqqqqqq"; char str2[] = "www"; printf("%s\n", My_strstr(str1, str2)); system("pause"); return 0; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文共计363个文字,预计阅读时间需要2分钟。
C语言中strstr函数实例详解:
strstr函数用于判断字符串str2是否是str1的子串。如果是,函数返回str2在str1中首次出现的位置;如果不是,则返回NULL。
函数原型:`const char *strstr(const char *str1, const char *str2);`
- str1:待搜索的字符串。- str2:要查找的子串。
如果str2是str1的子串,则strstr函数返回指向str2在str1中首次出现位置的指针;否则返回NULL。
c#include
int main() { const char *str1=Hello, world!; const char *str2=world;
const char *result=strstr(str1, str2);
if (result !=NULL) { printf(子串 '%s' 在 '%s' 中首次出现的位置是:%ld\n, str2, str1, result - str1); } else { printf(子串 '%s' 不在 '%s' 中。\n, str2, str1); }
return 0;}
C 语言中strstr函数实例详解
strstr函数
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL
const char* strstr(const char* str1,const char* str2); char* strstr(char* str1,const char* str2);
库中实现的strstr
#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); puts (str); return 0; }
模拟实现strstr函数
const char* My_strstr(const char* str1, const char* str2) { assert(str1); assert(str2); while (*str1 != '\0') { const char* p1 = str1; const char* p2 = str2; while ((*p1 != '\0') && (*p2 != '\0') && (*p1 == *p2)) { ++p1; ++p2; } if (*p2 == '\0') { return str1; } ++str1; } return NULL; } int main() { char str1[] = "a wwww qqqqqqqqqqqqqqq"; char str2[] = "www"; printf("%s\n", My_strstr(str1, str2)); system("pause"); return 0; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

