#include <stdlib.h>

char	*ft_strdup(char *src)
{
	int		len;
	int		i;
	char	*dest;

	len = 0;
	while (src[len])
	{
		len++;
	}
	dest = malloc(sizeof(char) * (len + 1));
	//pas bes. de (char *)mal vu  char*
	if (dest == NULL)//si aloccation memoire echoue
	{
		return (NULL);//retourn NULL c est un controle
	}
	//sinon continue normalement du coup donner la suite ici fonction duplic.
	i = 0;
	while (src[i])
	{
		dest[i] = src[i];//duplicaiton src -> dans dest
		i++;
	}
	dest[i] = '\0';
	// important pas oublier sinon problem avec putstr par ex.
	return (dest);
}
/*
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int	main(void)
{

	char	str1[] = "Allez Alinghi!";


	char	*str2 = strdup(str1);
	if (str2 == NULL)
	{
		printf("Erreur la duplication n'a pas foctionne correctemenent!!\n");
		return (1);//ici pour quitter avec code de l erreur!
	}
	// afficher mes chaine
	printf("str1 est %s\n", str1);
	printf("str1 est devenu apres strdup %s\n", str2);
	// Liberation de la memoire allouee par strdup
	// remarque strdup cree un copie de str1, mais ne l ecrit pas 2x alors ok
	free(str2);

	char	strbase[]="On est en demi!";
	char	*strnouveau;
	strnouveau = ft_strdup(strbase);

	printf("strbase est: %s\n", strbase);
	printf("strnouveau est: %s\n", strnouveau);
	free(strnouveau);
	return (0);
}*/

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: