'\" 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-02-05 "Linux man-pages 6.03" .SH NAME strnlen \- determine the length of a fixed-size string .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .PP .BI "size_t strnlen(const char " s [. maxlen "], size_t " maxlen ); .fi .PP .RS -4 Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .RE .PP .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). .ad l .nh .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .BR strnlen () T} Thread safety MT-Safe .TE .hy .ad .sp 1 .SH STANDARDS POSIX.1-2008. .SH SEE ALSO .BR strlen (3)