C 語言中strstr函數實例詳解
更新時間:2017年07月03日 14:22:31 投稿:lqh
這篇文章主要介紹了C 語言中strstr函數實例詳解的相關資料,需要的朋友可以參考下
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;
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

