Export (0) Print
Expand All
div
eof
Expand Minimize

strcat, wcscat, _mbscat

Append a string. More secure versions of these functions are available; see strcat_s, wcscat_s, _mbscat_s.

char *strcat(
   char *strDestination,
   const char *strSource 
);
wchar_t *wcscat(
   wchar_t *strDestination,
   const wchar_t *strSource 
);
unsigned char *_mbscat(
   unsigned char *strDestination,
   const unsigned char *strSource 
);
template <size_t size>
char *strcat(
   char (&strDestination)[size],
   const char *strSource 
); // C++ only
template <size_t size>
wchar_t *wcscat(
   wchar_t (&strDestination)[size],
   const wchar_t *strSource 
); // C++ only
template <size_t size>
unsigned char *_mbscat(
   unsigned char (&strDestination)[size],
   const unsigned char *strSource 
); // C++ only

strDestination

Null-terminated destination string.

strSource

Null-terminated source string.

Each of these functions returns the destination string (strDestination). No return value is reserved to indicate an error.

The strcat function appends strSource to strDestination and terminates the resulting string with a null character. The initial character of strSource overwrites the terminating null character of strDestination. The behavior of strcat is undefined if the source and destination strings overlap.

Security noteSecurity Note:

Because strcat does not check for sufficient space in strDestination before appending strSource, it is a potential cause of buffer overruns. Consider using strncat instead.

wcscat and _mbscat are wide-character and multibyte-character versions of strcat. The arguments and return value of wcscat are wide-character strings; those of _mbscat are multibyte-character strings. These three functions behave identically otherwise.

In C++, these functions have template overloads that invoke the newer, secure counterparts of these functions. For more information, see Secure Template Overloads.

Generic-Text Routine Mappings

TCHAR.H routine

_UNICODE & _MBCS not defined

_MBCS defined

_UNICODE defined

_tcscat

strcat

_mbscat

wcscat

Routine

Required header

strcat

<string.h>

wcscat

<string.h> or <wchar.h>

_mbscat

<mbstring.h>

For additional compatibility information, see Compatibility in the Introduction.

See the example for strcpy.

Community Additions

ADD
Show:
© 2014 Microsoft