-
Notifications
You must be signed in to change notification settings - Fork 0
strchr
La función ft_strchr busca la primera aparición del carácter c en la cadena s. Devuelve un puntero al primer lugar donde se encuentra el carácter o NULL si no se encuentra.
STRCHR(3) (simplified)
NAME
strchr -- locate character in string
SYNOPSIS
char *strchr(const char *s, int c);
DESCRIPTION
The strchr() function locates the first occurence of c (converted to a char) in the string pointed to by s. The terminating null character is considered to be part of the string; therefor if c is '\0', the function locate the terminating '\0'.
RETURN VALUES
The function strchr() return a pointer to the located character, or NULL if the character does not appear in the string.
La función strchr() busca en la cadena s el carácter c (pasado como entero pero convertido internamente a char). Si lo encuentra, devuelve un puntero a la primera aparición del carácter. Si no lo encuentra, devuelve NULL. Si c es el carácter nulo ('\0'), también se busca y se devuelve un puntero a la posición donde se encuentra el carácter nulo.
Aquí te muestro mi implementación de la función ft_strchr en mi proyecto de Libft.
#include "libft.h"
char *ft_strchr(const char *s, int c)
{
int i;
i = 0;
// Recorremos la cadena buscando el carácter
while (s[i])
{
if (s[i] == (char)c)
return ((char *)&s[i]); // Retornamos puntero a la primera aparición
i++;
}
// Si llegamos al final y es '\0', retornamos puntero a '\0'
if (s[i] == (char)c)
return ((char *)&s[i]);
return (NULL); // Si no se encuentra, devolvemos NULL
}El siguiente código es un ejemplo de cómo puedes probar la función ft_strchr():
#include <stdio.h>
char *ft_strchr(const char *s, int c);
int main(void)
{
const char str[] = "Libft es genial!";
char *result;
result = ft_strchr(str, 'e'); // Busca la primera aparición de 'e'
if (result)
printf("Primera aparición de 'e' en: %s\n", result);
else
printf("'e' no encontrado.\n");
result = ft_strchr(str, 'z'); // Busca un carácter que no existe
if (result)
printf("Primera aparición de 'z' en: %s\n", result);
else
printf("'z' no encontrado.\n");
return 0;
}-
¿Por qué usar
strchr?
strchres útil cuando necesitas encontrar la primera aparición de un carácter en una cadena, como por ejemplo para dividir una cadena en partes o para localizar un delimitador específico. -
¿Cuándo usar
strchr?
Usastrchrcuando estés trabajando con cadenas largas y necesites identificar la ubicación de un carácter específico o delimitar partes de una cadena para su procesamiento. También es útil en algoritmos de análisis de cadenas o al trabajar con entradas de usuario donde buscas caracteres especiales.