.\" Copyright, The contributors to the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH bstring 3 2025-05-06 "Linux man-pages 6.14" .SH NAME bcmp, bcopy, bzero, memccpy, memchr, memcmp, memcpy, memfrob, memmem, memmove, memset \- byte string operations .SH LIBRARY Standard C library .RI ( libc ,\~ \-lc ) .SH SYNOPSIS .nf .B #include .P .BI "int bcmp(size_t " n ; .BI " const void " s1 [ n "], const void " s2 [ n "], size_t " n ); .P .BI "void bcopy(size_t " n ; .BI " const void " src [ n "], void " dest [ n "], size_t " n ); .P .BI "void bzero(size_t " n ; .BI " void " s [ n "], size_t " n ); .P .BI "void *memccpy(size_t " n ; .BI " void " dest [ n "], const void " src [ n "], int " c ", size_t " n ); .P .BI "void *memchr(size_t " n ; .BI " const void " s [ n "], int " c ", size_t " n ); .P .BI "int memcmp(size_t " n ; .BI " const void " s1 [ n "], const void " s2 [ n "], size_t " n ); .P .BI "void *memcpy(size_t " n ; .BI " void " dest [ n "], const void " src [ n "], size_t " n ); .P .BI "void *memfrob(size_t " n ; .BI " void " s [ n "], size_t " n ); .P .BI "void *memmem(size_t " hsize ", size_t " nsize ; .BI " const void " haystack [ hsize "], size_t " hsize , .BI " const void " needle [ nsize "], size_t " nsize ); .P .BI "void *memmove(size_t " n ; .BI " void " dest [ n "], const void " src [ n "], size_t " n ); .P .BI "void *memset(size_t " n ; .BI " void " s [ n "], int " c ", size_t " n ); .fi .SH DESCRIPTION The byte string functions perform operations on strings (byte arrays) that are not necessarily null-terminated. See the individual man pages for descriptions of each function. .SH NOTES The functions .BR bcmp () and .BR bcopy () are obsolete. Use .BR memcmp () and .BR memmove () instead. .\" The old functions are not even available on some non-GNU/Linux systems. .SH SEE ALSO .BR bcmp (3), .BR bcopy (3), .BR bzero (3), .BR memccpy (3), .BR memchr (3), .BR memcmp (3), .BR memcpy (3), .BR memfrob (3), .BR memmem (3), .BR memmove (3), .BR memset (3), .BR string (3)