std::memcmp (3) - Linux Manuals
std::memcmp: std::memcmp
NAME
Synopsis
Defined in header <cstring>
int memcmp( const void* lhs, const void* rhs, std::size_t count );
Reinterprets the objects pointed to by lhs and rhs as arrays of unsigned char and compares the first count characters of these arrays. The comparison is done lexicographically.
The sign of the result is the sign of the difference between the values of the first pair of bytes (both interpreted as unsigned char) that differ in the objects being compared.
Parameters
lhs, rhs - pointers to the memory buffers to compare
count - number of bytes to examine
Return value
Negative value if the first differing byte (reinterpreted as unsigned char) in lhs is less than the corresponding byte in rhs.
0 if all count bytes of lhs and rhs are equal.
Positive value if the first differing byte in lhs is greater than the corresponding byte in rhs.
Notes
This function reads object_representations, not the object values, and is typically only meaningful for trivially-copyable objects with no padding. For example, memcmp() between two objects of type std::string or std::vector will not compare their contents, and memcmp() between two objects of type struct{char c; int n;} will compare the padding bytes whose values may differ when the values of c and n are the same.
Example
// Run this code
Output:
See also
strcmp (function)
strncmp (function)