sg_strcattestlen.c
/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   sg_strcattestlen.c                                 :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: sgehrman <sgehrman@student.42berlin.d      +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2026/02/21 17:18:16 by sgehrman          #+#    #+#             */
/*   Updated: 2026/02/26 14:20:59 by sgehrman         ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */
#include <unistd.h>
 
int stringlen(char *str)
{
  int count;
  char c;
 
  count = 0;
  while(str[count] != '\0')
  {
    write(1, &str[count], 1);    
    count++;
  }
  write(1, "\nstring endswith:", 17);
  c = count + '0';
  write(1, &c, 1);
  write(1, &(str[count - 5]),count+10);
  write(1, "# that is 5 bytes + after endof string in Memory\n", 49);
  return(count);
}
 
char	*sg_strcat(char *dest, char *src)
{
	int		dest_len;
	int		i;
 
	dest_len = stringlen(dest);
	i = 0;
	while (src[i] != '\0')
	{
		dest[dest_len + i] = src[i];
		i++;
	}
	dest[dest_len + i] = '\0';
	return (dest);
}
 
#include <stdio.h>
#include <string.h>
int main(int ac, char *av[])
//             strcat ft_st strcat ft_s  strc5 ft_strcat
{                   //tefanStefanStefanStefansgehrmansgehrmansgehrmansgehrman
	char	src[] = "Stefan";
	char	src2[] = "sgehrman";
	char	dest[] = "destinat \0.23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\0";
	char	des2[] = " @88 \0.23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\0";
  int c = 0;    //destinat StefanStefansgehrmanStefansgehrmanStefan
 
    printf("prg : %s count%d\n", av[0], ac);
    c = stringlen(av[0]);
    printf("prglencount%d\n", c);
 
	  printf("sg_strca1: %s\n", sg_strcat(dest, src));
	  printf("sg_strca2: %s\n", sg_strcat(dest, src));
	  printf("strcat  3: %s\n", strcat(dest, src2));
	  printf("sg_strca4: %s\n", sg_strcat(dest, src));
	  printf("strcat: 5  %s\n", strcat(dest, src2));
	  printf("sg_strca6: %s\n", sg_strcat(dest, src));
 
	  printf("\n\nwith args %s\n", src);
  if(ac < 2)
    av[1] = des2;
    //des2[] = av[1];
  if(ac < 3)
    av[2] = src2;
    //src2[] = av[2];
    printf("\n\nwith args1&2 %s %s\n", (av[1]), (av[2]));
 
	  //printf("ft_strcat1: %s\n", ft_strcat(des2, src));
	  //printf("strcat   2: %s\n", strcat(des2, src));
	  //printf("ft_strcat3: %s\n", ft_strcat(des2, src));
	  //printf("ft_strcat4: %s\n", ft_strcat(des2, src));
	  //printf("av2->av1 1: %s\n", strcat((av[1]), (av[2])));
	  printf("av2->av1s2: %s\n", sg_strcat(av[1], av[2]));
 
	  printf("av2->av1 3: %s \n", strcat(av[1], av[2]));
	  //printf("av2->av1s4: %s \n", sg_strcat(av[1], av[2]));
 
  return (0);
}