memcmp()
C++ cstring memcmp() funksiyasi
Misol
Qaysi biri kattaroq ekanini bilish uchun ikkita xotira blokini solishtiring:
char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = memcmp(myStr1, myStr2, 4);
if(cmp > 0) {
cout << myStr1 << " is greater than " << myStr2 << "\n";
} else if(cmp < 0) {
cout << myStr2 << " is greater than " << myStr1 << "\n";
} else {
cout << myStr1 << " is equal to " << myStr2 << "\n";
}
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
memcmp() funksiyasi ikkita xotira blokini solishtiradi va qaysi biri kattaroq ekanini bildiruvchi butun son qaytaradi.
Bu solishtirishda ikkala xotira blokidagi bir xil pozitsiyadagi baytlar 0-pozitsiyadan boshlab, ulardan biri mos kelmay qolguncha yoki xotira bloki oxiriga yetilguncha birma-bir solishtiriladi. Uchta holat bo‘lishi mumkin:
- Agar xotira bloklari oxiriga hech qanday nomuvofiqliksiz yetib kelinsa, funksiya nol qaytaradi.
- Birinchi nomuvofiqlikda, agar birinchi xotira blokidagi baytning qiymati kattaroq bo‘lsa, funksiya musbat son qaytaradi.
- Birinchi nomuvofiqlikda, agar ikkinchi xotira blokidagi baytning qiymati kattaroq bo‘lsa, funksiya manfiy son qaytaradi.
memcmp() funksiyasi <cstring> sarlavha faylida aniqlangan.
Eslatma: memcmp() funksiyasi istalgan tipdagi xotira uchun umumlashtirilgan. C uslubidagi stringlar (char massivlari) bilan ishlashda uning o‘rniga strcmp() funksiyasidan foydalangan ma’qul.
Sintaksis
memcmp(void * pointer1, void * pointer2, size_t size);
size_t ma’lumot tipi musbat butun sondir.
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| pointer1 | Majburiy. Solishtiriladigan xotira bloklaridan biriga ko‘rsatkich. |
| pointer2 | Majburiy. Solishtiriladigan xotira bloklaridan biriga ko‘rsatkich. |
| size | Majburiy. Solishtiriladigan baytlar soni. |
Texnik tafsilotlar
| Qaytaradi: | Birinchi xotira bloki kattaroq bo‘lsa musbat, ikkinchi xotira bloki kattaroq bo‘lsa manfiy, ikkala xotira bloki teng bo‘lsa 0 ga teng bo‘lgan int qiymat. |
|---|
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
