//:Vc++6.0 String strpbrk函數
//功能:順序在字符串str1中搜尋與str2中字符的第一個相同字符
//參數:str1 字符串1 str2 字符串2
//返回值:返回找到字符串的字符
#include<stdio.h>
const char *strpbrk(const char *str1, const char *str2);
int main()
{
char str[] = "This is a sample string";
char key[] = "aeiou";
const char * pch;
printf ("Vowels in '%s': ",str);
pch = strpbrk(str, key);
while (pch != NULL)
{
printf ("%c " , *pch);
pch = strpbrk(pch+1,key);
}
printf ("\n");
return 0;
}
const char *strpbrk(const char *str1, const char *str2)
{
if (str1 == NULL || str2 == NULL)
{
perror("str1 or str2");
return NULL;
}
const char *temp1 = str1;
const char *temp2 = str2;
while (*temp1 != '\0')
{
temp2 = str2; //將str2 指針從新指向在字符串的首地址
while (*temp2 != '\0')
{
if (*temp2 == *temp1)
return temp1;
else
temp2++;
}
temp1++;
}
return NULL;
}
//在vc++6.0中的運行結果為:Vowels in 'This is a sample string': i i a a e i
//注:和 strcspn函數 相似//:~
|