ft_strnstr.c
Esta función permite buscar dentro de una cadena original, la subcadena objetivo.
Enunciado
strnstr(3)
NOMBRE
strnstr --> busca una subcadena dentro de la cadena principal
CABECERA
char *strnstr(const void *haystack, const void *needle, size_t n);
DESCRIPCIÓN
Busca dentro de la cadena de bytes `haystack`, los bytes relativos a `needle`
DEVOLUCIÓN
Devuelve `haystack` en caso de que el elemento a buscar se identifique como una cadena vacía. Por otro lado, en caso de no ubicar ningún resultado de la búsqueda de `needle` dentro de `haystack`, devuelve `NULL`. En caso de ubicar la cadena a buscar, Planteamiento
#include "libft.h"
char *ft_strnstr(const char *haystack, const char *needle, size_t n) {
/* definimos dos contadores y asignamos sus valores predefinidos */
/* primero comprobamos si la cadena a buscar está vacía */
if (/* está vacía */)
return (/* `haystack` */);
while (/* no lleguemos al final y el contador sea menor o igual a `n` */) {
/* dentro del primer búcle, iteramos `needle` */
while (/* el caracter actual, dentro del recorrido iterativo, se corresponde con el valor de la posición actual de `needle` */) {
if (/* posición actual de `needle` corresponde a `null` */)
/* devolvemos `haystack` sumado al contador actual, es decir la longitud */
return (/* `haystack` + `i` */);
/* preparamos la próxima iteración del búcle interno */
}
}
/* preparamos la próxima iteración del búcle externo
* y establecemos el valor del contador interno a `0` para que vuelva a empezar el ciclo */
/* como caso predeterminado, devolvemos el valor base */
return (/* devolvemos `0` */);
}Solución
Última actualización
¿Te fue útil?