##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# strcat

From cppreference.com
< c‎ | string‎ | byte

Defined in header `<string.h>` |  |
char *strcat( char *dest, const char *src ); |  | (until C99)
char *strcat( char *restrict dest, const char *restrict src ); |  | (since C99)

Appends a byte string pointed to by `src` to a byte string pointed to by `dest`. The resulting byte string is null-terminated.

The destination byte string must be large enough for the contents of both `str` and `dest` and the terminating null character.

The behavior is undefined if the strings overlap.

### [edit] Parameters

dest | - | pointer to the null-terminated byte string to append to
src | - | pointer to the null-terminated byte string to copy from

### [edit] Return value

`dest`

### [edit] Example

Run this code

    #include <string.h>
    #include <stdio.h>

    int main()
    {
        char str[50] = "Hello ";
        char str2[50] = "World!";
        strcat(str, str2);
        strcat(str, " ...");
        strcat(str, " Goodbye World!");
        puts(str);
    }

Output:

    Hello World! ... Goodbye World!

### [edit] See also

strncat | concatenates a certain amount of characters of two strings (function) [edit]
strcpy | copies one string to another (function) [edit]
C++ documentation for strcat

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/string/byte/strcat&oldid=65782"