strcat, wcscat, _mbscat
Append a string. More secure versions of these functions are available; see strcat_s, wcscat_s, _mbscat_s.
Important
|
|---|
|
_mbscat_s cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW. |
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
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 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.
|
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.
Important