1STRNCPY(3P)                POSIX Programmer's Manual               STRNCPY(3P)
2
3
4

PROLOG

6       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
7       implementation of this interface may differ (consult the  corresponding
8       Linux  manual page for details of Linux behavior), or the interface may
9       not be implemented on Linux.
10
11

NAME

13       stpncpy, strncpy — copy fixed length string, returning a pointer to the
14       array end
15

SYNOPSIS

17       #include <string.h>
18
19       char *stpncpy(char *restrict s1, const char *restrict s2, size_t n);
20       char *strncpy(char *restrict s1, const char *restrict s2, size_t n);
21

DESCRIPTION

23       For  strncpy():  The  functionality described on this reference page is
24       aligned with the ISO C standard. Any conflict between the  requirements
25       described  here and the ISO C standard is unintentional. This volume of
26       POSIX.1‐2008 defers to the ISO C standard.
27
28       The stpncpy() and strncpy() functions shall copy not more than n  bytes
29       (bytes  that  follow  a  NUL  character  are not copied) from the array
30       pointed to by s2 to the array pointed to by s1.
31
32       If the array pointed to by s2 is a string that is shorter than n bytes,
33       NUL characters shall be appended to the copy in the array pointed to by
34       s1, until n bytes in all are written.
35
36       If copying takes place between objects that overlap,  the  behavior  is
37       undefined.
38

RETURN VALUE

40       If  a  NUL character is written to the destination, the stpncpy() func‐
41       tion shall return the address of the first such NUL character.   Other‐
42       wise, it shall return &s1[n].
43
44       The strncpy() function shall return s1.
45
46       No return values are reserved to indicate an error.
47

ERRORS

49       No errors are defined.
50
51       The following sections are informative.
52

EXAMPLES

54       None.
55

APPLICATION USAGE

57       Applications  must provide the space in s1 for the n bytes to be trans‐
58       ferred, as well as ensure that the s2 and s1 arrays do not overlap.
59
60       Character movement is performed differently  in  different  implementa‐
61       tions. Thus, overlapping moves may yield surprises.
62
63       If  there  is  no  NUL character byte in the first n bytes of the array
64       pointed to by s2, the result is not null-terminated.
65

RATIONALE

67       None.
68

FUTURE DIRECTIONS

70       None.
71

SEE ALSO

73       strcpy(), wcsncpy()
74
75       The Base Definitions volume of POSIX.1‐2008, <string.h>
76
78       Portions of this text are reprinted and reproduced in  electronic  form
79       from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
80       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
81       Specifications Issue 7, Copyright (C) 2013 by the Institute of Electri‐
82       cal and Electronics Engineers,  Inc  and  The  Open  Group.   (This  is
83       POSIX.1-2008  with  the  2013  Technical Corrigendum 1 applied.) In the
84       event of any discrepancy between this version and the original IEEE and
85       The  Open Group Standard, the original IEEE and The Open Group Standard
86       is the referee document. The original Standard can be  obtained  online
87       at http://www.unix.org/online.html .
88
89       Any  typographical  or  formatting  errors that appear in this page are
90       most likely to have been introduced during the conversion of the source
91       files  to  man page format. To report such errors, see https://www.ker
92       nel.org/doc/man-pages/reporting_bugs.html .
93
94
95
96IEEE/The Open Group                  2013                          STRNCPY(3P)
Impressum