GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::memcmp(3) C++ Standard Libary std::memcmp(3)

std::memcmp - std::memcmp


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 bytes 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.


lhs, rhs - pointers to the memory buffers to compare
count - number of bytes to examine


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.


This function reads object representations, not the object values, and is typically
meaningful for only trivially-copyable objects that have 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.

// Run this code


#include <iostream>
#include <cstring>


void demo(const char* lhs, const char* rhs, std::size_t sz)
{
std::cout << std::string(lhs, sz);
const int rc = std::memcmp(lhs, rhs, sz);
if(rc < 0)
std::cout << " precedes ";
else if(rc > 0)
std::cout << " follows ";
else
std::cout << " compares equal to ";
std::cout << std::string(rhs, sz) << " in lexicographical order\n";
}


int main()
{
char a1[] = {'a','b','c'};
char a2[sizeof a1] = {'a','b','d'};


demo(a1, a2, sizeof a1);
demo(a2, a1, sizeof a1);
demo(a1, a1, sizeof a1);
}


abc precedes abd in lexicographical order
abd follows abc in lexicographical order
abc compares equal to abc in lexicographical order


strcmp compares two strings
(function)
strncmp compares a certain number of characters from two strings
(function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.