Fungsi memcmp () di C ++ membandingkan sejumlah karakter tertentu dari dua objek penunjuk
memcmp () prototipe
int memcmp (const void * lhs, const void * rhs, size_t count);
The memcmp()
Fungsi mengambil tiga argumen: lhs, rhs dan menghitung. Fungsi ini pertama-tama menginterpretasikan objek yang ditunjukkan oleh lhs dan rhs sebagai array dari unsigned char
. Kemudian membandingkan karakter hitung pertama lhs dan rhs secara leksikografis.
Ini didefinisikan dalam file header "> file header.
Parameter memcmp ()
lhs and rhs
: Arahkan ke objek memori untuk dibandingkan.count
: Jumlah byte maksimum untuk dibandingkan.
memcmp () Nilai kembali
Fungsi memcmp () mengembalikan:
- nilai positif jika byte pertama yang berbeda
lhs
lebih besar dari byte yang sesuai dalamrhs
. - nilai negatif jika byte pertama yang berbeda
lhs
lebih kecil dari byte yang sesuai dalamrhs
. - 0 jika byte hitung pertama dari
lhs
danrhs
sama.
Contoh: Bagaimana fungsi memcmp () bekerja
#include #include using namespace std; void display(char *lhs, char *rhs, int result, int count) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Saat Anda menjalankan program, hasilnya adalah:
5 karakter pertama Hello World! dan Halo Bumi! sama Halo Bumi! mendahului Hello World!