>> C言語関数一覧トップに戻る
今回はC言語のmemcmp関数の使い方について説明します。
memcmp関数は指定バイト数のメモリブロックを比較する関数です。
■書式
#include <string.h>
int memcmp(const void *buf1, const void *buf2,size_t n);
第一引数、第二引数は比較対象メモリのポインタ
第三引数は比較サイズ
をそれぞれ指定します。
比較はunsigned charとして行われます。
戻り値は以下のようになります。
正の値 : buf1 > buf2
0 : buf1 = buf2
負の値 : buf1 < buf2
つまり、0が返れば一致、返らなければ一致していないことになります。
■サンプルコード
先頭から3バイトは一致しています。
上記コードでは二つの文字列をmemcmpで3バイトだけ比較しています。
先頭から3バイトは一致しているので、一致しているというメッセージが表示されます。
>> 【C言語 memcpy 使い方】に進む
>> C言語関数一覧トップに戻る
C言語 memcmp 使い方
memcmp関数は指定バイト数のメモリブロックを比較する関数です。
■書式
#include <string.h>
int memcmp(const void *buf1, const void *buf2,size_t n);
第一引数、第二引数は比較対象メモリのポインタ
第三引数は比較サイズ
をそれぞれ指定します。
比較はunsigned charとして行われます。
戻り値は以下のようになります。
正の値 : buf1 > buf2
0 : buf1 = buf2
負の値 : buf1 < buf2
つまり、0が返れば一致、返らなければ一致していないことになります。
■サンプルコード
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char buf[] = "ABCD5EFGH";
char buf2[] = "ABC123456";
if(memcmp(buf,buf2,3)==0){
puts("先頭から3バイトは一致しています。");
}else{
puts("一致していません。");
}
return 0;
}
■実行結果先頭から3バイトは一致しています。
上記コードでは二つの文字列をmemcmpで3バイトだけ比較しています。
先頭から3バイトは一致しているので、一致しているというメッセージが表示されます。
>> 【C言語 memcpy 使い方】に進む
>> C言語関数一覧トップに戻る













