Name

stpncpy — copy a fixed-size string, returning a pointer to its end

Synopsis

#include <string.h>
char *stpncpy( char *dest,
  const char *src,
  size_t n);
 
[Note] Note
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
stpncpy():
Since glibc 2.10:
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
Before glibc 2.10:
_GNU_SOURCE

DESCRIPTION

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 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.

RETURN VALUE

stpncpy() returns a pointer to the terminating null byte in dest, or, if dest is not null-terminated, dest+n.

CONFORMING TO

This function was added to POSIX.1-2008. Before that, it was a GNU extension.

SEE ALSO

strncpy(3), wcpncpy(3)

COLOPHON

This page is part of release 3.54 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man−pages/.


  Copyright (c) Bruno Haible <haibleclisp.cons.org>

%%%LICENSE_START(GPLv2+_DOC_ONEPARA)
This is free documentation; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
%%%LICENSE_END

References consulted:
  GNU glibc-2 source code and manual

Corrected, aeb, 990824