
- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - memcmp() 函式
C 庫的 memcmp() 函式可以用來比較兩個記憶體塊。通常,它用於比較二進位制資料或原始資料。
這裡,memcmp() 接受三個變數作為引數,比較記憶體區域 str1 和記憶體區域 str2 的前 n 個位元組。
語法
以下是 C 庫 memcmp() 函式的語法:
int memcmp(const void *str1, const void *str2, size_t n)
引數
此函式接受以下引數:
str1 - 指向記憶體塊的指標。
str2 - 此引數定義指向記憶體塊的指標。
n - 此引數定義要比較的位元組數。
返回值
此函式在三種不同的情況下返回整數值:
如果返回值 < 0,則表示 str1 小於 str2。
如果返回值 > 0,則表示 str2 小於 str1。
如果返回值 == 0,則表示 str1 等於 str2。
示例 1
以下 C 庫程式說明了 memcmp() 函式的使用方法。
#include <stdio.h> #include <string.h> int main () { char str1[15]; char str2[15]; int ret; memcpy(str1, "abcdef", 6); memcpy(str2, "ABCDEF", 6); ret = memcmp(str1, str2, 5); if(ret > 0) { printf("str2 is less than str1"); } else if(ret < 0) { printf("str1 is less than str2"); } else { printf("str1 is equal to str2"); } return(0); }
輸出
以上程式碼產生以下結果:
str2 is less than str1
示例 2
在下面的程式中,我們使用兩個整型陣列來檢查它們是否相等或不相等。
#include <stdio.h> #include <string.h> int main() { int arr1[] = {1, 2, 3, 4, 5}; int arr2[] = {1, 2, 3, 4, 6}; int result = memcmp(arr1, arr2, sizeof(arr1)); if (result == 0) { printf("Arrays are equal\n"); } else { printf("Arrays are not equal\n"); } return 0; }
輸出
執行上述程式碼後,我們得到以下結果:
Arrays are not equal
示例 3
這裡,我們建立整數值作為字串,並應用 if-else-if 語句來檢查字串是大於、小於還是等於。
#include <stdio.h> #include <string.h> int main() { char str1[] = "12345678901400345678"; char str2[] = "1234567"; int result = memcmp(str1, str2, 10); if (result < 0) { printf("First is less than second.\n"); } else if (result == 0) { printf("First is equal to second.\n"); } else { printf("First is greater than second.\n"); } return 0; }
輸出
執行程式碼後,我們得到以下結果:
First is greater than second.
廣告