strpbrk() en C

Esta función encuentra el primer carácter en la string s1 que coincide con cualquier carácter especificado en s2 (excluye la terminación de caracteres nulos).

Syntax : 
char *strpbrk(const char *s1, const char *s2)

Parameters :
s1 : string to be scanned.
s2 : string containing the characters to match.

Return Value :
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);
}

Producción:

Character not found
First matching character: e

Aplicación práctica
Esta función se puede utilizar en juegos de lotería donde gana la persona que tiene una string con la letra
que sale primero en la victoria, es decir, se puede utilizar en cualquier lugar donde gana la primera persona.

// 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);
}

Producción:

Better luck next time
Congrats u have won

Este artículo es una contribución de Shantanu Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *