1. memcmp()の概要
1.関数プロトタイプ
int memcmp(const void *str1, const void *str2, size_t n));
2.パラメータ
- str1のメモリブロックへの-pointer。
- str2のメモリブロックへの-pointer。
- n-比較するバイト数
3.機能
主に文字列を比較するために、ストレージ領域str1とストレージ領域str2の最初のnバイトを比較します。
4.ヘッダーファイル
#include <string.h>
5.戻り値
- 左から右に、別の文字が表示されるまで、ASCIIコード値に従ってn文字を1つずつ比較します。
- 戻り値が0未満の場合、str1がstr2よりも小さいことを意味します。
- 戻り値> 0の場合、str2がstr1より小さいことを意味します。
- 戻り値= 0の場合、str1がstr2と等しいことを意味します。
2、memcmp()の使用法
memcmp関数は、主に文字列を比較するために使用されます。
具体的なコードは次のとおりです。
#include <stdio.h>
#include <string.h>
int main(void)
{
char *a = "English";
char *b = "ENGLISH";
char *c = "english";
char *d = "English";
printf("memcmp(a, b):%d\n", memcmp(a, b, 7));//字符串之间的比较
printf("memcmp(a, c):%d\n", memcmp(a, c, 7));
printf("memcmp(a, d):%d\n", memcmp(a, d, 7));
printf("memcmp(a, \"English\"):%d\n", memcmp(a, "English", 7));
printf("memcmp(&a[2], \"g\"):%d\n", memcmp(&a[2], "g", 1)); //单个字符的比较
return 0;
}
結果は次のとおりです。
memcmp(a, b):1
memcmp(a, c):-1
memcmp(a, d):0
memcmp(a, "English"):0
memcmp(&a[2], "g"):0