Bagaimana membandingkan string dalam C++

How Compare String C



Membandingkan string adalah tugas yang sangat umum untuk bahasa pemrograman apa pun. Ini terutama digunakan untuk memvalidasi data, seperti memeriksa nama pengguna dan kata sandi dari informasi login. Perbandingan string dapat dilakukan dengan menggunakan operator perbandingan atau menggunakan fungsi bawaan. Dua fungsi perbandingan string yang digunakan dalam C++ adalah, strcmp() dan membandingkan() . NS strcmp() adalah fungsi perpustakaan C untuk membandingkan dua string. c membandingkan () adalah fungsi bawaan C++ untuk membandingkan dua string. Cara membandingkan string menggunakan operator perbandingan dan fungsi telah dijelaskan dalam tutorial ini.

Prasyarat:

Sebelum memeriksa contoh tutorial ini, Anda harus memeriksa apakah compiler g++ sudah terpasang atau tidak di sistem. Jika Anda menggunakan Visual Studio Code, maka instal ekstensi yang diperlukan untuk mengkompilasi kode sumber C++ untuk membuat kode yang dapat dieksekusi. Di sini, aplikasi Visual Studio Code telah digunakan untuk mengkompilasi dan mengeksekusi kode C++.







Menggunakan Operator Perbandingan untuk membandingkan string:

Cara paling umum untuk membandingkan string dalam C++ adalah menggunakan operator perbandingan. Ini adalah operator yang sama (==) dan tidak sama (!=). Buat file C++ dengan kode berikut untuk membandingkan dua nilai string menggunakan operator perbandingan. Menurut kode, alamat URL akan diambil dari pengguna dan dibandingkan dengan string lain menggunakan operator yang sama (==). Jika nilai input cocok dengan string apa pun dari kondisi 'jika', maka pesan spesifik akan dicetak; jika tidak, pesan bagian 'lain' akan ditampilkan.



//Sertakan perpustakaan yang diperlukan

#termasuk

menggunakan namespace std;

intmain() {
// Mendeklarasikan variabel string
string url_addr;
// Ambil alamat url dari pengguna
biayaurl_addr;
// Bandingkan nilai input dengan string lain menggunakan operator yang setara
jika(url_addr== 'Google com')
biaya<<'Ini adalah situs mesin pencari.'<<akhir;
selain itu(url_addr== 'jooble.org')
biaya<<'Ini adalah situs pencarian pekerjaan.'<<akhir;
selain itu(url_addr== 'linuxhint.com')
biaya<<'Ini adalah situs blog.'<<akhir;
lain
biaya<<'Tidak ada informasi yang ditambahkan untuk situs ini.'<<akhir;

kembali0;
}

Keluaran:



Setelah mengeksekusi kode, jika pengguna mengetik ' linuxhint.com ' sebagai input, kondisi 'jika' ketiga akan dikembalikan Benar, dan akan muncul output berikut.





Menggunakan fungsi compare () untuk membandingkan string:

Fungsi compare() membandingkan dua string dan mengembalikan 0 atau 1 atau -1 berdasarkan hasil pencocokan dari perbandingan. Arti dari nilai pengembalian diberikan di bawah ini.



  • Fungsi akan mengembalikan 0 ketika kedua string pembanding sama.
  • Fungsi akan mengembalikan 1 ketika string pertama lebih besar dari string kedua.
  • Fungsi akan mengembalikan -1 ketika string pertama kurang dari string kedua.

Sintaksis:

ke dalamstring1.membandingkan(string2)

Buat file C++ dengan kode berikut untuk membandingkan dua nilai string dengan dua nilai input menggunakan fungsi compare(). Otentikasi pengguna mana pun dapat diperiksa dengan membandingkan nilai yang dikirimkan oleh pengguna dengan nilai pengguna yang diautentikasi. Proses otentikasi ini telah diterapkan dalam kode berikut. Alamat email dan kata sandi yang valid telah disimpan ke dalam dua variabel string di sini. Selanjutnya, nilai-nilai ini dibandingkan dengan alamat email dan kata sandi yang diambil dari pengguna yang menggunakan membandingkan () fungsi. yang logis DAN operator telah digunakan dalam kode untuk mengotentikasi pengguna. Pesan sukses akan dicetak jika kedua fungsi compare() mengembalikan True. Jika tidak, pesan kegagalan akan dicetak.

//Sertakan perpustakaan yang diperlukan

#termasuk

menggunakan namespace std;

intmain() {

//Inisialisasi dua variabel string
string email(' [dilindungi email] ');
kata sandi string('linuxhint');
//Deklarasikan dua variabel string
string pengguna_email;
string user_password;

//Ambil alamat email dari pengguna
biayaemail_pengguna;

//Ambil kata sandi dari pengguna
biayakata sandi_pengguna;

//Periksa nama pengguna dan kata sandi valid atau tidak valid
jika (email_pengguna.membandingkan(surel) == 0&&kata sandi_pengguna.membandingkan(kata sandi) == 0 )
biaya<<'Otentikasi Berhasil.'<<akhir;
lain
biaya<<'Email atau sandi tidak valid.'<<akhir;

kembali0;
}

Keluaran:

Setelah mengeksekusi kode, jika pengguna mengetik ' [dilindungi email] 'sebagai alamat email dan' 12345 ' sebagai kata sandi, kondisi 'jika' ketiga akan dikembalikan Palsu, dan akan muncul output berikut.

Setelah mengeksekusi kode lagi, jika pengguna mengetik ' [dilindungi email] 'sebagai alamat email dan' linuxhint ' sebagai kata sandi, kondisi 'jika' ketiga akan dikembalikan Benar, dan akan muncul output berikut.

Menggunakan fungsi strcmp() untuk membandingkan string:

strcmp() adalah fungsi lain untuk membandingkan string dalam C++. Ini mengembalikan true jika kedua string pembanding sama. Parameter input yang diambil oleh fungsi ini berbeda dengan fungsi compare(). Fungsi compare mengambil nilai string sebagai parameter, dan fungsi strcmp() mengambil array char sebagai parameter. Sintaks fungsi ini diberikan di bawah ini.

Sintaksis:

ke dalam strcmp ( konstan arang *str1, konstan arang *str2);

Buat file C++ dengan kode berikut untuk membandingkan dua string menggunakan fungsi strcmp(). Dua array karakter dari 100 elemen telah dideklarasikan dalam kode untuk menyimpan nilai string yang diambil oleh pengguna. NS getline() fungsi digunakan untuk menyimpan input pengguna ke dalam variabel array char. Selanjutnya, strcmp() fungsi telah digunakan untuk memeriksa nilai input sama atau tidak. Jika fungsi kembali Benar, maka akan tercetak pesan sukses; jika tidak, pesan kegagalan akan dicetak,

//Sertakan perpustakaan yang diperlukan

#termasuk

#termasuk

menggunakan namespace std;

intmain() {
//Delare dua variabel string
arangchrData1[100],chrData2[100];

//Ambil data string pertama
biaya<<'Masukkan string pertama:';
gin.getline(chrData1, 100);
//Ambil data string kedua
biaya<<'Masukkan string kedua:';
gin.getline(chrData2, 100);

jika ( strcmp (chrData1,chrData2)==0)
printf ('Senarnya sama ');
lain
printf ('Senarnya tidak sama ');

kembali0;
}

Keluaran:

Setelah mengeksekusi kode, nilai string, ' Halo ' diberikan untuk kedua nilai input, dan output berikut akan muncul.

Kesimpulan:

Tiga cara untuk membandingkan string dalam C++ telah ditunjukkan dalam tutorial ini dengan menggunakan tiga contoh sederhana. Penggunaan operator perbandingan dan fungsi bawaan untuk memeriksa kesetaraan string telah dijelaskan dalam tutorial ini untuk membantu pemrogram C++ baru.