| .\" Copyright (c) Bruno Haible <haible@clisp.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 |
| .TH STPNCPY 3 2016-03-15 "GNU" "Linux Programmer's Manual" |
| .SH NAME |
| stpncpy \- copy a fixed-size string, returning a pointer to its end |
| .SH SYNOPSIS |
| .nf |
| .B #include <string.h> |
| .sp |
| .BI "char *stpncpy(char *" dest ", const char *" src ", size_t " n ); |
| .fi |
| .sp |
| .in -4n |
| Feature Test Macro Requirements for glibc (see |
| .BR feature_test_macros (7)): |
| .in |
| .sp |
| .BR stpncpy (): |
| .PD 0 |
| .ad l |
| .RS 4 |
| .TP 4 |
| Since glibc 2.10: |
| _POSIX_C_SOURCE\ >=\ 200809L |
| .TP |
| Before glibc 2.10: |
| _GNU_SOURCE |
| .RE |
| .ad |
| .PD |
| .SH DESCRIPTION |
| The |
| .BR stpncpy () |
| function copies at most |
| .I n |
| characters from the string |
| pointed to by |
| .IR src , |
| including the terminating null byte (\(aq\\0\(aq), |
| to the array pointed to by |
| .IR dest . |
| Exactly |
| .I n |
| characters are written at |
| .IR dest . |
| If the length |
| .I strlen(src) |
| is smaller than |
| .IR n , |
| the |
| remaining characters in the array pointed to by |
| .I dest |
| are filled |
| with null bytes (\(aq\\0\(aq), |
| If the length |
| .I strlen(src) |
| is greater than or equal to |
| .IR n , |
| the string pointed to by |
| .I dest |
| will |
| not be null-terminated. |
| .PP |
| The strings may not overlap. |
| .PP |
| The programmer must ensure that there is room for at least |
| .I n |
| characters |
| at |
| .IR dest . |
| .SH RETURN VALUE |
| .BR stpncpy () |
| returns a pointer to the terminating null byte |
| in |
| .IR dest , |
| or, if |
| .I dest |
| is not null-terminated, |
| .IR dest + n . |
| .SH ATTRIBUTES |
| For an explanation of the terms used in this section, see |
| .BR attributes (7). |
| .TS |
| allbox; |
| lb lb lb |
| l l l. |
| Interface Attribute Value |
| T{ |
| .BR stpncpy () |
| T} Thread safety MT-Safe |
| .TE |
| .SH 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. |
| .SH SEE ALSO |
| .BR strncpy (3), |
| .BR wcpncpy (3) |