Section (3) stpncpy


Linux manual pages Section 3  

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:
_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 (_zsingle_quotesz__zsingle_quotesz_), 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 (_zsingle_quotesz__zsingle_quotesz_), 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.

RETURN VALUE

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

ATTRIBUTES

For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
stpncpy() Thread safety MT-Safe

CONFORMING TO

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.

SEE ALSO

strncpy(3), wcpncpy(3)

COLOPHON

This page is part of release 5.04 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/.


  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