ft_memchr.c
Esta función permite localizar la primera ocurencia de un caracter. Esta función, se parece a 'strchr', salvo por que esta, funciona con cadenas de bytes (void *), en lugar de literales como (char *).
Enunciado
strncmp(3)
NOMBRE
memchr --> localiza un byte en una cadena de bytes
CABECERA
void *memchr(const void *s, int c, size_t n);
DESCRIPCIÓN
Localiza la primera aparición de `c`, convertido en un `unsigned char`, dentro de la cadena `s`
DEVOLUCIÓN
Devuelve un puntero enfocado al byte encontrado, o en contrario `NULL` si este no es encontrado en `n` bytes.Planteamiento
#include "libft.h"
void *ft_memchr(const void *s, int c, size_t n) {
/* definimos un contador y asignamos su valor predefinido
* al tratar con este tipo de conversiones (void) a (char), deberemos convertir tanto `s` como `c` a caracteres literales que puedan ser comparados */
/* iteramos sobre la cadena de bytes */
while (/* el contador es menor o igual a `n` */) {
/* comprobamos si el caracter actual es igual al valor que recibimos */
if (/* posición acual es igual a la conversión de `c` */) {
return (/* puntero enfocado a la posición actual */);
}
/* preparamos la próxima iteración */
}
/* en caso de no ubicar coincidencia, devolvemos el valor prea `NULL` */
return (NULL);
}Solución
Última actualización
¿Te fue útil?