man-pages/man3/strnlen.3

60 lines
1.4 KiB
Groff

.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" 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
.\"
.TH STRNLEN 3 2012-05-10 "GNU" "Linux Programmer's Manual"
.SH NAME
strnlen \- determine the length of a fixed-size string
.SH SYNOPSIS
.nf
.B #include <string.h>
.sp
.BI "size_t strnlen(const char *" s ", size_t " maxlen );
.fi
.sp
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
.sp
.BR strnlen ():
.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 strnlen ()
function returns the number of bytes in the string
pointed to by \fIs\fP, excluding the terminating null bye (\(aq\\0\(aq),
but at most \fImaxlen\fP.
In doing this,
.BR strnlen ()
looks only at the first
\fImaxlen\fP bytes at \fIs\fP and never beyond \fIs+maxlen\fP.
.SH "RETURN VALUE"
The
.BR strnlen ()
function returns \fIstrlen(s)\fP, if that is less than
\fImaxlen\fP, or \fImaxlen\fP
if there is no null byte (\(aq\\0\(aq) among the first
\fImaxlen\fP bytes pointed to by \fIs\fP.
.SH "CONFORMING TO"
POSIX.1-2008.
.SH "SEE ALSO"
.BR strlen (3)