- cstring[meta header]
- std[meta namespace]
- function[meta id-type]
namespace std {
int memcmp(const void* s1, const void* s2, size_t n);
}- size_t[link /reference/cstddef/size_t.md]
メモリデータを比較する。
s1が指すオブジェクトとs2が指すオブジェクトの先頭nバイトを比較する。各バイトはunsigned charとして比較される。
2つのオブジェクトで最初に異なるバイトについて、s1側のバイトがs2側のバイトより大きい場合は正の整数、小さい場合は負の整数を返す。先頭nバイトがすべて等しい場合は0を返す。
- この関数は、フリースタンディング処理系でも使用できる。
#include <cstring>
#include <iostream>
int main()
{
const unsigned char a[] = {0x01, 0x02, 0x03};
const unsigned char b[] = {0x01, 0x02, 0x04};
int r = std::memcmp(a, b, 3);
std::cout << (r < 0 ? "less" : r > 0 ? "greater" : "equal") << std::endl;
}- std::memcmp[color ff0000]
less
- C++98
- P2338R4 Freestanding Library: Character primitives and the C library
- C++26で、この関数がフリースタンディング処理系で使用可能になった