.\" Copyright (c) Bruno Haible .\" .\" 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. .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" .\" Corrected, aeb, 990824 .TH STPNCPY 3 2011-09-28 "GNU" "Linux Programmer's Manual" .SH NAME stpncpy \- copy a fixed-size string, returning a pointer to its end .SH SYNOPSIS .nf .B #include .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: _XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L .TP Before glibc 2.10: _GNU_SOURCE .RE .ad .PD .SH DESCRIPTION The .BR stpncpy () function copies at most \fIn\fP characters from the string pointed to by \fIsrc\fP, including the terminating null byte (\(aq\\0\(aq), to the array pointed to by \fIdest\fP. Exactly \fIn\fP characters are written at \fIdest\fP. If the length \fIstrlen(src)\fP is smaller than \fIn\fP, the remaining characters in the array pointed to by \fIdest\fP are filled with null bytes (\(aq\\0\(aq), If the length \fIstrlen(src)\fP is greater or equal to \fIn\fP, the string pointed to by \fIdest\fP will not be null-terminated. .PP The strings may not overlap. .PP The programmer must ensure that there is room for at least \fIn\fP characters at \fIdest\fP. .SH "RETURN VALUE" .BR stpncpy () returns a pointer to the terminating null byte in \fIdest\fP, or, if \fIdest\fP is not null-terminated, \fIdest + n\fP. .SH "CONFORMING TO" This function was added to POSIX.1-2008. Before that, it was a GNU extension. .SH "SEE ALSO" .BR strncpy (3), .BR wcpncpy (3) .SH COLOPHON This page is part of release 3.44 of the Linux .I man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.