stpncpy(3)

stpncpy3

Nonstring return‐offset‐pointer copy

Usage

#include <string.h>  // see memory.h(3head)

char *stpncpy(size_t dsize; char dst[restrict dsize], const char *restrict src, size_t dsize);

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

Library

Standard C library (libc, -lc)

Overview

This function is equivalent to strncpy(3), but it returns a pointer to one past the last nonnull written character.

It is equivalent to

memset(mempcpy(dst, src, strnlen(src, dsize)), '\0',
       dsize - strnlen(src, dsize))

Return value

This function returns a pointer to one past the last non-null character written, that is, dest + strnlen(src, n).

Attributes

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

InterfaceAttributeValue
stpncpy()Thread safetyMT-Safe

Caveats

See strncpy(3).

Releases

14 releases since Debian 2.2 (Potato); the text changed 13 times.

  1. 2.2
  2. 3.0
  3. 3.1
  4. 4.0
  5. 5.0
  6. 6.0
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. Arch

Standards

POSIX.1-2008.

History

glibc 1.07. POSIX.1-2008.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.