I am trying to create a concatenate function in language C and I am beginner ...
But I have an issue, my function concatenate only the first character of the second string but doesn't work for the all string.
Example :
String1 = "ABCD" and String2 = "EFGH" The result will be : String1 = "ABCDE"
Here my code :
int main(int argc, char *argv[])
{
char *myChaine1 = (char*)malloc(100);
char *myChaine2 = (char*)malloc(100);
myStrCpy("ABCD", myChaine1);
myStrCpy("EFGH", myChaine2);
myStrCat(myChaine1, myChaine2);
printf("%s", myChaine1);
free(myChaine1);
free(myChaine2);
return 0;
}
// Home made string length function
int myStrLen(const char* word)
{
int length = 0;
while (word[length] != '\0')
{
length++;
}
return length;
}
// Home made Copy string function
char* myStrCpy(const char* word, char* copy)
{
int i = 0;
while (i < myStrLen(word))
{
copy[i] = word[i];
i++;
}
}
// Home made concatenate function
char* myStrCat(char* chaine1, const char* chaine2)
{
int i = 0;
while (i < myStrLen(chaine2))
{
chaine1[i + myStrLen(chaine1)] = chaine2[i];
i++;
}
}
Someone understand where is the issue?