'\" t .\" Copyright (c) Bruno Haible .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" .TH strnlen 3 2023-10-31 "Linux man-pages 6.7" .SH NAME strnlen \- determine the length of a fixed-size string .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .P .BI "size_t strnlen(const char " s [. maxlen "], size_t " maxlen ); .fi .P .RS -4 Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .RE .P .BR strnlen (): .nf Since glibc 2.10: _POSIX_C_SOURCE >= 200809L Before glibc 2.10: _GNU_SOURCE .fi .SH DESCRIPTION The .BR strnlen () function returns the number of bytes in the string pointed to by .IR s , excluding the terminating null byte (\[aq]\e0\[aq]), but at most .IR maxlen . In doing this, .BR strnlen () looks only at the first .I maxlen characters in the string pointed to by .I s and never beyond .IR s[maxlen\-1] . .SH RETURN VALUE The .BR strnlen () function returns .IR strlen(s) , if that is less than .IR maxlen , or .I maxlen if there is no null terminating (\[aq]\e0\[aq]) among the first .I maxlen characters pointed to by .IR s . .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR strnlen () T} Thread safety MT-Safe .TE .SH STANDARDS POSIX.1-2008. .SH HISTORY POSIX.1-2008. .SH SEE ALSO .BR strlen (3)