此函数在字符串s1中找到与s2中指定的任何字符匹配的第一个字符(不包括终止null-characters)。
用法: char *strpbrk(const char *s1, const char *s2) 参数: s1:string to be scanned. s2:string containing the characters to match. 返回值: It returns a pointer to the character in s1 that matches one of the characters in s2, else returns NULL.
// C code to demonstrate the working of
// strpbrk
#include <stdio.h>
#include <string.h>
// Driver function
int main()
{
// Declaring three strings
char s1[] = "geeksforgeeks";
char s2[] = "app";
char s3[] = "kite";
char* r, *t;
// Checks for matching character
// no match found
r = strpbrk(s1, s2);
if (r != 0)
printf("First matching character:%c\n", *r);
else
printf("Character not found");
// Checks for matching character
// first match found at "e"
t = strpbrk(s1, s3);
if (t != 0)
printf("\nFirst matching character:%c\n", *t);
else
printf("Character not found");
return (0);
}
输出:
Character not found First matching character:e
实际应用
此函数可用于彩票游戏中带有字母的字符串的人
获胜者排名第一,即可以在第一人称获胜的任何地方使用。
// C code to demonstrate practical application
// of strpbrk
#include <stdio.h>
#include <string.h>
// Driver function
int main()
{
// Initializing victory string
char s1[] = "victory";
// Declaring lottery strings
char s2[] = "a23";
char s3[] = "i22";
char* r, *t;
// Use of strpbrk()
r = strpbrk(s1, s2);
t = strpbrk(s1, s3);
// Checks if player 1 has won lottery
if (r != 0)
printf("Congrats u have won");
else
printf("Better luck next time");
// Checks if player 2 has won lottery
if (t != 0)
printf("\nCongrats u have won");
else
printf("Better luck next time");
return (0);
}
输出:
Better luck next time Congrats u have won
相关用法
注:本文由纯净天空筛选整理自 strpbrk() in C。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。