stpncpy - copy a fixed-size string, returning a pointer to its end
#include <string.h>
char *stpncpy(char *dest, const char *src, size_t n);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
stpncpy():
- Since glibc 2.10:
_POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
_GNU_SOURCE
The stpncpy() function copies at most n
characters from the string pointed to by src
, including the terminating null byte ('\0'), to the array pointed to by dest
. Exactly n
characters are written at dest
. If the length strlen(src)
is smaller than n
, the remaining characters in the array pointed to by dest
are filled with null bytes ('\0'), If the length strlen(src)
is greater than or equal to n
, the string pointed to by dest
will not be null-terminated.
The strings may not overlap.
The programmer must ensure that there is room for at least n
characters at dest
.
stpncpy() returns a pointer to the terminating null byte in dest
, or, if dest
is not null-terminated, dest
+n
.
For an explanation of the terms used in this section, see attributes(7).
Interface | Attribute | Value |
stpncpy() | Thread safety | MT-Safe |
This function was added to POSIX.1-2008. Before that, it was a GNU extension. It first appeared in version 1.07 of the GNU C library in 1993.
This page is part of release 4.15 of the Linux man-pages
project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.