#include <stdio.h>
#include <string.h>
#include <assert.h>
unsigned int len(char* str)
{
int i = 0;
while (str[i] != '\0')
{
i++;
}
return i;
}
char* ft_strcat(char* dest, char* src)
{
unsigned int dest_i;
unsigned int src_i;
unsigned int src_size;
dest_i = 0;
src_i = 0;
src_size = len(src);
while (dest[dest_i] != '\0')
{
dest_i++;
}
while (src_i < src_size)
{
dest[dest_i] = src[src_i];
src_i++;
dest_i++;
}
dest[dest_i] = '\0';
return dest;
}
int main(void)
{
// Test Case 1: Basic concatenation
char buffer1_1[100] = "Hello, ";
char buffer2_1[50] = "World!";
assert(strcmp(ft_strcat(buffer1_1, buffer2_1), "Hello, World!") == 0);
// Test Case 2: Concatenating empty string
char buffer1_2[100] = "Hello, ";
char buffer2_2[50] = "";
assert(strcmp(ft_strcat(buffer1_2, buffer2_2), "Hello, ") == 0);
// Test Case 3: Concatenating to empty string
char buffer1_3[100] = "";
char buffer2_3[50] = "World!";
assert(strcmp(ft_strcat(buffer1_3, buffer2_3), "World!") == 0);
// Test Case 4: Both strings are empty
char buffer1_4[100] = "";
char buffer2_4[50] = "";
assert(strcmp(ft_strcat(buffer1_4, buffer2_4), "") == 0);
// Test Case 5: Long strings
char buffer1_5[100] = "This is a long string. ";
char buffer2_5[50] = "This is another long string.";
assert(strcmp(ft_strcat(buffer1_5, buffer2_5), "This is a long string. This is another long string.") == 0);
// Test Case 6: Overlapping strings
char overlapping[100] = "Overlapping";
assert(strcmp(ft_strcat(overlapping, overlapping + 4), "Overlappinglapping") == 0);
printf("All tests passed.\n");
}
To embed this program on your website, copy the following code and paste it into your website's HTML: