.\" Copyright (c) Bruno Haible .\" .\" %%%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 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 .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 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 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)