.\" 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 .\" .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 .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)