Exemple #1
0
int main()
{
    char dst[8];
    char *src = "Source";
    int c = 5;
    int character = 'o';
    char *p;
    int i;
    
    for (i = 0; i < c; i++)
        dst[i] = '*';
    
    printf("src = %s\n", src);
    p = ft_memccpy(dst, src, character, c);
    assert(p != NULL);
    printf("Character '%c' is found in \"%s\"\n", character, src);
    printf("*p = %c\n", *p);
    
    printf("dst = ");
    for (i = 0; i < c; i++)
        putchar(dst[i]);
    printf("\n");
    
    return 0;
}
Exemple #2
0
void	*ft_memccpy(void *dst, const void *src, int c, size_t n)
{
	if (n != 0)
	{
		*(unsigned char *)dst = *(unsigned char *)src;
		if (*(unsigned char *)src == (unsigned char)c)
			return (dst + 1);
		return (ft_memccpy(dst + 1, src + 1, c, --n));
	}
	return (NULL);
}
Exemple #3
0
int	main(void)
{
	char	*a;
	char	*b;
	char	*c;
	char	d;

	a = "qwertyuiop";
	b = malloc(100);
	c = malloc(100);
	b = ft_memset(b, 65, 11);
	c = ft_memset(c, 65, 11);
	d = 'y';
	b = ft_memccpy(b, a, d, 11);
	c = memccpy(c, a, d, 11);
	write(1, b, 11);
	write(1, "\n", 1);
	write(1, c, 11);
	write(1, "\n", 1);
	return (0);
}
Exemple #4
0
char	buf1[] = "Ceci est un test.";
char	buf2[200];
void	*p1, *p2;

p1 = memccpy(buf2, buf1, 'i', 10);
p2 = ft_memccpy(buf2, buf1, 'i', 10);
UT_ASSERT_EQ(p1, p2);
UT_ASSERT_EQ(ft_memccpy(buf2, buf1, 'k', 5), 0);
UT_ASSERT_EQ(ft_memccpy(buf2, buf1, 0, 0), memccpy(buf2, buf1, 0, 0));
UT_ASSERT_EQ(ft_memccpy(buf2, buf1, 0, sizeof(buf1)), memccpy(buf2, buf1, 0, sizeof(buf1)));
UT_ASSERT_EQ(ft_memccpy(buf2, buf1, 'C', 10), buf2 + 1);
Exemple #5
0
char	*ft_strcpy(char *dst, const char *src)
{
	ft_memccpy(dst, src, 0, ft_strlen(src));
	return (dst);
}