strncat, wcsncat, _mbsncat

Append characters of a string.

char *strncat( char *strDest, const char *strSource, size_t count );

wchar_t *wcsncat( wchar_t *strDest, const wchar_t *strSource, size_t count );

unsigned char *_mbsncat( unsigned char *strDest, const unsigned char *strSource, size_t count);

Routine Required Header Compatibility
strncat <string.h> ANSI, Win 95, Win NT
wcsncat <string.h> or <wchar.h> ANSI, Win 95, Win NT
_mbsncat <mbstring.h> Win 95, Win NT

For additional compatibility information, see Compatibility in the Introduction.

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version

Return Value

Each of these functions returns a pointer to the destination string. No return value is reserved to indicate an error.

Parameters

strDest

Null-terminated destination string

strSource

Null-terminated source string

count

Number of characters to append

Remarks

The strncat function appends, at most, the first count characters of strSource to strDest. The initial character of strSource overwrites the terminating null character of strDest. If a null character appears in strSource before count characters are appended, strncat appends all characters from strSource, up to the null character. If count is greater than the length of strSource, the length of strSource is used in place of count. The resulting string is terminated with a null character. If copying takes place between strings that overlap, the behavior is undefined.

wcsncat and _mbsncat are wide-character and multibyte-character versions of strncat. The string arguments and return value of wcsncat are wide-character strings; those of _mbsncat are multibyte-character strings. These three functions behave identically otherwise.

Generic-Text Routine Mappings

TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined
_tcsncat strncat _mbsnbcat wcsncat

Example

/* STRNCAT.C */

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

void main( void )
{
   char string[80] = "This is the initial string!";
   char suffix[] = " extra text to add to the string...";
   /* Combine strings with no more than 19 characters of suffix: */
   printf( "Before: %s\n", string );
   strncat( string, suffix, 19 );
   printf( "After:  %s\n", string );
}

Output

Before: This is the initial string!
After:  This is the initial string! extra text to add 

String Manipulation Routines

See Also   _mbsnbcat, strcat, strcmp, strcpy, strncmp, strncpy, _strnicmp, strrchr, _strset, strspn