/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* sg_strcattestlen.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: sgehrman 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 #include 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); }