ft_strdup


💻 ft_strdup
文字列s 1をコピーし、コピーした文字列を保存し、コピーした文字列ポインタを返す記憶領域を指定する関数.
📃 ft strdupプロトタイプ
char	*ft_strdup(const char *s1)
🔩 parameters
*s 1:コピーする文字列
📬 return
char*型リターン
  • malloc関数を使用して記憶領域を割り当て、s 1をコピーし、文字列ポインタ
  • を返す.
    🧨 注意事項
  • 関数で領域変数を作成して文字列をコピーすると、関数の終了時にスタック領域に格納された文字列の記憶領域が消失するため、malloc関数を使用して文字列に新しい記憶領域を割り当てる必要があります.
  • malloc割当てに失敗するとNULLが返されるので、この場合NULLが返されて関数
  • が終了する.
    パスワード
    
    #include "libft.h"
    
    char	*ft_strdup(const char *s1)
    {
    	int		len;
    	int		i;
    	char	*str;
    
    	i = 0;
    	len = ft_strlen(s1);
    	str = (char *)malloc(sizeof(char) * (len + 1));
    	if (str == 0)
    		return (0);
    	while (i < len)
    	{
    		str[i] = s1[i];
    		i++;
    	}
    	str[i] = '\0';
    	return (str);
    }