ft_strnstr.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_strnstr.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/26 12:21:03 by bchanot #+# #+# */
  9. /* Updated: 2015/11/29 00:13:56 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. char *ft_strnstr(const char *s1, const char *s2, size_t n)
  14. {
  15. size_t cpt;
  16. size_t cpt2;
  17. cpt = 0;
  18. cpt2 = 0;
  19. if (!ft_strlen(s2))
  20. return ((char *)s1);
  21. while (s1[cpt])
  22. {
  23. while (s2[cpt2] == s1[cpt + cpt2] && cpt + cpt2 < n)
  24. {
  25. if (cpt2 == ft_strlen(s2) - 1)
  26. return ((char *)&s1[cpt]);
  27. cpt2++;
  28. }
  29. cpt2 = 0;
  30. cpt++;
  31. }
  32. return (NULL);
  33. }