STRCAT(3) | Library Functions Manual | STRCAT(3) |
strcat
, strncat
—
#include <string.h>
char *
strcat
(char
* restrict s, const char
* restrict append);
char *
strncat
(char
* restrict s, const char
* restrict append, size_t
count);
strcat
() and strncat
()
functions append a copy of the nul-terminated string
append to the end of the nul-terminated string
s, then add a terminating
‘\0
’. The string s
must have sufficient space to hold the result.
The strncat
() function appends not more
than count characters where space for the terminating
‘\0
’ should not be included in
count.
strcat
() and strncat
()
functions return the pointer s.
abc
” to
“chararray
”:
char *letters = "abcdefghi"; (void)strncat(chararray, letters, 3);
The following example shows how to use
strncat
() safely in conjunction with
strncpy(3).
char buf[BUFSIZ]; char *input, *suffix; (void)strncpy(buf, input, sizeof(buf) - 1); buf[sizeof(buf) - 1] = '\0'; (void)strncat(buf, suffix, sizeof(buf) - 1 - strlen(buf));
The above will copy as many characters from
“input
” to
“buf
” as will fit. It then appends as
many characters from suffix as will fit (or none if there is no space). For
operations like this, the
strlcpy(3) and
strlcat(3) functions are a
better choice, as shown below.
(void)strlcpy(buf, input, sizeof(buf)); (void)strlcat(buf, suffix, sizeof(buf));
strcat
() and strncat
()
functions conform to ISO/IEC 9899:1999
(“ISO C99”).
August 11, 2002 | NetBSD 9.0 |