C言語:memcmp()の使用法の詳細な説明

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

おすすめ

転載: blog.csdn.net/MQ0522/article/details/110931444