Memcmp() และ memicmp() เปรียบเทียบ n ไบต์แรกของหน่วยความจำสองช่วงตึก
-
memcmp() ทำการเปรียบเทียบเป็นอักขระที่ไม่ได้ลงนาม
-
memicmp() ทำการเปรียบเทียบเป็นอักขระ แต่ไม่ต้องสนใจอักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก
-
ทั้งสองฟังก์ชันคืนค่าจำนวนเต็ม
-
บัฟเฟอร์หน่วยความจำสองตัวเท่ากัน (ส่งคืน 0)
-
บัฟเฟอร์แรกมากกว่าวินาที (ส่งคืน>0)
-
บัฟเฟอร์แรกน้อยกว่าวินาที(ส่งคืน<0).
โปรแกรม
โปรแกรมต่อไปนี้แสดงการใช้งานฟังก์ชัน memcmp() และ memicmp()
#include#include main(){ char st1[]="นี่คือภาษาการเขียนโปรแกรม C"; char st2[]="นี่คือการเขียนโปรแกรม c"; ผลลัพธ์ int; ผลลัพธ์=memcmp(st1,st2,strlen(st2)); printf("\n1. ผลลัพธ์หลังจากเปรียบเทียบบัฟเฟอร์โดยใช้ memcmp"); ตรวจสอบ(ผลลัพธ์); ผลลัพธ์=memicmp(st1,st2,strlen(st2)); printf("\n2. ผลลัพธ์หลังจากเปรียบเทียบบัฟเฟอร์โดยใช้ memicmp"); ตรวจสอบ(ผลลัพธ์);}ตรวจสอบ(int x){ if(x==0) printf(" บัฟเฟอร์ st1 และ st2 เก็บข้อมูลเดียวกัน\n"); if(x>0) printf("บัฟเฟอร์ st1 ใหญ่กว่าบัฟเฟอร์ st2\n"); if(x<0) printf(“บัฟเฟอร์ st1 น้อยกว่าบัฟเฟอร์ st2\n");}
ผลลัพธ์
คุณจะเห็นผลลัพธ์ต่อไปนี้ -
<ก่อน>1. ผลลัพธ์หลังจากเปรียบเทียบบัฟเฟอร์โดยใช้ memcmp buffer st1 น้อยกว่าบัฟเฟอร์ st22 ผลลัพธ์หลังจากเปรียบเทียบบัฟเฟอร์โดยใช้บัฟเฟอร์ memicmp st1 และ st2 เก็บข้อมูลเดียวกัน