Fungsi memcmp () dalam C ++ membandingkan bilangan watak yang ditentukan dari dua objek penunjuk
memcmp () prototaip
int memcmp (const void * lhs, const void * rhs, size_t count);
Yang memcmp()
fungsi mengambil masa tiga hujah: skala kiri, Skala kanan dan kiraan. Fungsi ini pertama menafsirkan objek yang ditunjukkan oleh lhs dan rhs sebagai tatasusunan unsigned char
. Kemudian membandingkan watak penghitung pertama lhs dan rhs secara leksikografik.
Ia ditakrifkan dalam header file "> header file.
memcmp () Parameter
lhs and rhs
: Penunjuk ke objek memori untuk dibandingkan.count
: Bilangan maksimum bait untuk dibandingkan.
memcmp () Nilai pulangan
Fungsi memcmp () mengembalikan:
- nilai positif jika bait pertama yang berbeza
lhs
lebih besar daripada bait yang sesuai dalamrhs
. - nilai negatif jika bait pertama yang berbeza
lhs
kurang daripada bait yang sesuai dalamrhs
. - 0 jika bait kiraan pertama
lhs
danrhs
sama.
Contoh: Bagaimana fungsi memcmp () berfungsi
#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; )
Semasa anda menjalankan program, outputnya adalah:
5 watak pertama Hello World! dan Hello Earth! sama Hello Earth! mendahului Hello World!