Search code examples
cstringstring-concatenation

Concatenate two char arrays?


If I have two char arrays like so:

char one[200];
char two[200];

And I then want to make a third which concatenates these how could I do it?

I have tried:

char three[400];
strcpy(three, one);
strcat(three, two);

But this doesn't seem to work. It does if one and two are setup like this:

char *one = "data";
char *two = "more data";

Anyone got any idea how to fix this?

Thanks


Solution

  • If 'one' and 'two' does not contain a '\0' terminated string, then you can use this:

    memcpy(tree, one, 200);
    memcpy(&tree[200], two, 200);
    

    This will copy all chars from both one and two disregarding string terminating char '\0'