Standards / Extensions | C or C++ | Dependencies |
---|---|---|
ISO C |
both |
#include <string.h>
char *strncat(char * __restrict__string1, const char * __restrict__string2, size_t count);
The strncat() built-in function appends the first count characters of string2 to string1 and ends the resulting string with a NULL character (\0). If count is greater than the length of string2, strncat() appends only the maximum length of string2 to string1. The first character of the appended string overwrites the terminating NULL character of the string pointed to by string1.
If copying takes place between overlapping objects, the behavior is undefined.
strncat() returns the value string1, the concatenated string.
⁄* CELEBS44
This example demonstrates the difference between &strcat. and
&strncat..
&strcat. appends the entire second string to the first,
whereas &strncat. appends only the specified number of
characters in the second string to the first.
*⁄
#include <stdio.h>
#include <string.h>
#define SIZE 40
int main(void)
{
char buffer1[SIZE] = "computer";
char * ptr;
⁄* Call strcat with buffer1 and " program" *⁄
ptr = strcat( buffer1, " program" );
printf( "strcat : buffer1 = \"%s\"\n", buffer1 );
⁄* Reset buffer1 to contain just the string "computer" again *⁄
memset( buffer1, '\0', sizeof( buffer1 ));
ptr = strcpy( buffer1, "computer" );
⁄* Call strncat with buffer1 and " program" *⁄
ptr = strncat( buffer1, " program", 3 );
printf( "strncat: buffer1 = \"%s\"\n", buffer1 );
}
strcat : buffer1 = "computer program"
strncat: buffer1 = "computer pr"