- 追加された行はこの色です。
- 削除された行はこの色です。
#navi(../)
* メモリの比較を行う・memcmp [#b51d0c78]
指定したメモリ番地とメモリ番地の内容比較を行うmemcmp関数のC言語サンプルソースを以下に記します。
#author("2017-04-30T10:48:13+09:00","","")
#contents
#htmlinsertpcsp(c-top.html,c-sp.html)
*関連記事 [#dd58370e]
-[[メモリの内容を指定した値で初期化する・memset>メモリ/メモリの内容を指定した値で初期化する・memset]]
-[[メモリ内容をコピーする・memcpy>メモリ/メモリ内容をコピーする・memcpy]]
-[[構造体の内容をコピーする・memcpyは使わない!>メモリ/構造体の内容をコピーする・memcpyは使わない!]]
-[[メモリの比較を行う・memcmp>メモリ/メモリの比較を行う・memcmp]]
-[[動的にメモリを取得する・malloc>メモリ/動的にメモリを取得する・malloc]]
-[[malloc,calloc,reallocで取得したメモリを解放する・free>メモリ/malloc,calloc,reallocで取得したメモリを解放する・free]]
-[[指定した文字数分コピーする・memmove>メモリ/指定した文字数分コピーする・memmove]]
-[[指定したバイトの指定個数分メモリを確保する・calloc>メモリ/指定したバイトの指定個数分メモリを確保する・calloc]]
* memcmpの書式等 [#y01b6524]
-必要なインクルードファイル
#include <string.h>
-memsetの書式
int memcmp(const void *s1, const void *s2, size_t n);
-戻り値~
同じ内容の場合は0が返却されます。~
異なる場合は0以外の値が返却されます。
-引数~
1つ目: 比較する内容が格納されているアドレス~
2つ目: 比較する内容が格納されているアドレス~
3つ目: 比較するバイト数
* memcmpを使用したC言語サンプルコード [#tb84fc36]
以下にmemcmpを使用したサンプルコードおよび実行した結果を記します。
&ref(memcmp.c); (改行コードLF)
#include <stdio.h>
#include <string.h>
#define BUFSIZE 10
int main(void)
{
char a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
char aa[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
char aaa[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100};
printf("memcmp(a, aa, sizeof(a)) = %d\n", memcmp(a, aa, sizeof(a)));
printf("memcmp(a, aaa, sizeof(a)) = %d\n", memcmp(a, aaa, sizeof(a)));
return 0;
}
以下に上記のC言語サンプルコードをコンパイルし実行した時の出力を記します。
$ gcc memcmp.c -o memcmp
$ ./memcmp
memcmp(a, aa, sizeof(a)) = 0
memcmp(a, aaa, sizeof(a)) = -1
以上、memcmpのC言語サンプルコードと実行例でした。
#htmlinsertpcsp(c-btm.html,c-sp.html)