ft_memccpy

This commit is contained in:
Tanguy MAZE 2018-04-06 14:57:36 +02:00
parent ffb67d2a1c
commit b25c72caa4
3 changed files with 31 additions and 3 deletions

View File

@ -6,7 +6,7 @@
# By: tmaze <marvin@42.fr> +#+ +:+ +#+ # # By: tmaze <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2018/04/04 10:51:59 by tmaze #+# #+# # # Created: 2018/04/04 10:51:59 by tmaze #+# #+# #
# Updated: 2018/04/06 11:08:46 by tmaze ### ########.fr # # Updated: 2018/04/06 11:30:50 by tmaze ### ########.fr #
# # # #
#******************************************************************************# #******************************************************************************#
@ -20,6 +20,7 @@ SRCS = \
ft_memset.c \ ft_memset.c \
ft_bzero.c \ ft_bzero.c \
ft_memcpy.c \ ft_memcpy.c \
ft_memccpy.c \
ft_strlen.c \ ft_strlen.c \
ft_strdup.c \ ft_strdup.c \
ft_strcpy.c \ ft_strcpy.c \

27
ft_memccpy.c Normal file
View File

@ -0,0 +1,27 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memccpy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2018/04/06 11:29:28 by tmaze #+# #+# */
/* Updated: 2018/04/06 11:30:21 by tmaze ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void *ft_memccpy(void *dest, const void *src, int c, size_t n)
{
size_t i;
i = 0;
while (++i <= n)
{
((char*)dest)[i - 1] = ((char*)src)[i - 1];
if (((unsigned char*)src)[i - 1] == (unsigned char)c)
return (dest + i);
}
return (NULL);
}

View File

@ -6,7 +6,7 @@
/* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */ /* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2018/04/04 10:40:01 by tmaze #+# #+# */ /* Created: 2018/04/04 10:40:01 by tmaze #+# #+# */
/* Updated: 2018/04/06 11:24:38 by tmaze ### ########.fr */ /* Updated: 2018/04/06 11:46:45 by tmaze ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -25,7 +25,7 @@ void ft_bzero(void *s, size_t n);
void *ft_memcpy(void *restrict dest, const void *restrict src, size_t n); void *ft_memcpy(void *restrict dest, const void *restrict src, size_t n);
void *ft_memccpy(void *restrict dest, const void *restrict src, int c,\ void *ft_memccpy(void *restrict dest, const void *restrict src, int c,\
size_t n); size_t n);
void *ft_memmove(void *dest, const void *src, size_t n); void *ft_memmove(void *dest, const void *src, size_t len);
void *ft_memchr(const void *s, int c, size_t n); void *ft_memchr(const void *s, int c, size_t n);
int ft_memcmp(const void *s1, const void *s2, size_t n); int ft_memcmp(const void *s1, const void *s2, size_t n);
size_t ft_strlen(const char *s); size_t ft_strlen(const char *s);