C++ Fungsi String: strcpy(), strcat(), strlen(), strcmp() Contoh
Apa itu String?
String adalah rangkaian karakter. A C++ string adalah objek dari kelas std::string. Karakter disimpan dalam urutan byte dengan akses ke satu byte karakter diperbolehkan.
C++ string mengalokasikan memori secara dinamis. Lebih banyak memori dapat dialokasikan ke string selama waktu proses jika diperlukan. Karena tidak ada pra-alokasi memori, tidak ada pemborosan memori. Kita dapat melakukan berbagai operasi pada string, termasuk perbandingan, penggabungan, konversi, dll.
Mendeklarasikan String
C++ mendukung dua jenis deklarasi string:
- String karakter gaya C
- Tipe kelas string
String Karakter Gaya C
Jenis deklarasi string ini diperkenalkan pada bahasa pemrograman C. C++ terus mendukungnya. Ini hanyalah array karakter satu dimensi yang diakhiri dengan karakter nol (\0). String yang diakhiri dengan null memiliki karakter yang membentuk string kemudian diikuti dengan null.
Pertimbangkan deklarasi string yang diberikan di bawah ini:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
Deklarasi di atas menciptakan string yang membentuk kata John. Kata tersebut memiliki 4 karakter, tetapi stringnya berukuran 5. Spasi tambahan memungkinkan untuk menampung karakter nol.
Dengan menggunakan aturan inisialisasi array, kita dapat menulis pernyataan di atas sebagai berikut:
char name[] = "John";
Perhatikan bahwa Anda tidak perlu menempatkan karakter null di akhir konstanta string. Itu C++ kompiler akan secara otomatis menempatkan '\0' di akhir string ketika menginisialisasi array.
std::string
Standar C++ pustaka menyediakan kelas string yang mendukung berbagai operasi string. Kelas ini ditulis sebagai std::string.
Untuk menggunakan kelas ini, pertama-tama kita harus memasukkannya ke dalam ruang kerja kita menggunakan #include preprocessor seperti yang ditunjukkan di bawah ini:
#include<string>
Selanjutnya, kita dapat mendeklarasikan string kita menggunakan kata kunci string. Misalnya:
string name = "John";
Pernyataan di atas akan membuat string bernama name untuk menyimpan nilai John.
Mengakses Nilai string
In C++, kita dapat mengakses nilai string menggunakan nama string. Misalnya:
#include <iostream> using namespace std; int main() { char name[5] = { 'J', 'o', 'h', 'n', '\0' }; cout << "String value is: "; cout << name << endl; return 0; }
Keluaran:
Berikut ini tangkapan layar kodenya:
Penjelasan Kode:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang didalamnya logika program harus ditambahkan. Tanda { menandai awal isi fungsi main().
- Mendeklarasikan string karakter dan memberinya nama. String akan menyimpan nilai John. Spasi ekstra akan menyimpan karakter null.
- Mencetak beberapa teks di konsol.
- Mencetak nilai string bernama name di konsol.
- Fungsi main() harus mengembalikan nilai jika program berjalan dengan baik.
- Akhir dari isi fungsi main().
Berikut adalah contoh lain menggunakan C++ kelas string standar:
#include <iostream> #include <string> using namespace std; int main() { string name = "Guru99"; cout << "The name is : " << name << endl; return 0; }
Keluaran:
Berikut ini tangkapan layar kodenya:
Penjelasan Kode:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan kelas string standar dalam kode kita.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang didalamnya logika program harus ditambahkan. Tanda { menandai awal isi fungsi main().
- Mendeklarasikan string dan memberinya nama. String tersebut akan menyimpan nilai Guru99.
- Mencetak nilai nama string di samping beberapa teks di konsol.
- Fungsi main() harus mengembalikan nilai jika program berjalan dengan baik.
- Akhir dari isi fungsi main().
Fungsi String di C++
Anda sering kali ingin memanipulasi string. C++ menyediakan berbagai fungsi yang dapat Anda gunakan untuk ini. Fungsi-fungsi ini didefinisikan di kelas CString, oleh karena itu, kita harus memasukkannya ke dalam kode kita untuk menggunakan fungsi tersebut. Mari kita bahas beberapa:
strcpy()
Ini adalah fungsi penyalinan string. Ini menyalin satu string ke string lain.
sintaks:
strcpy(string1, string2);
Dua parameter fungsi, string1 dan string2, adalah string. Fungsi akan menyalin string string2 ke string1.
strcat()
Ini adalah fungsi penggabungan string. Ini menggabungkan string.
sintaks:
strcat(string1, string2);
Dua parameter fungsi, string1 dan string2 adalah string yang akan digabungkan. Fungsi di atas akan menggabungkan string string2 ke akhir string string1.
strlen()
Ini adalah fungsi panjang string. Ia mengembalikan panjang string yang diteruskan sebagai argumen.
sintaks:
strnlen(string1)
Parameter string1 adalah nama string yang panjangnya akan ditentukan. Fungsi di atas akan mengembalikan panjang string string1.
strcmp()
Ini adalah fungsi perbandingan string. Ini digunakan untuk perbandingan string.
sintaks:
strcmp(string1, string2);
Fungsi di atas akan mengembalikan 0 jika string string1 dan string2 serupa, kurang dari 0 jika string1 string2.
Contoh:
Contoh berikut menunjukkan cara menggunakan fungsi string di atas:
#include <iostream> #include <cstring> using namespace std; int main() { char name1[10] = "Guru99"; char name2[10] = "John"; char name3[10]; int len; strcpy(name3, name1); cout << "strcpy( name3, name1) : " << name3 << endl; strcat(name1, name2); cout << "strcat( name1, name2): " << name1 << endl; len = strlen(name1); cout << "strlen(name1) : " << len << endl; return 0; }
Keluaran:
Berikut ini tangkapan layar kodenya:
Penjelasan Kode:
- Menyertakan file header iostream dalam kode kita. Ini akan memungkinkan kita membaca dan menulis ke konsol.
- Menyertakan kelas CString standar dalam kode kita.
- Menyertakan namespace std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
- Memanggil fungsi main() yang didalamnya logika program harus ditambahkan. Tanda { menandai awal isi fungsi main().
- Mendeklarasikan string 10 karakter dan memberinya nama name1. String tersebut akan menyimpan nilai Guru99.
- Mendeklarasikan string 10 karakter dan memberinya nama name2. String akan menyimpan nilai John.
- Mendeklarasikan string 10 karakter dan memberinya nama name3.
- Menyatakan sebuah variabel bilangan bulat bernama len.
- Menyalin string nama1 ke string nama3.
- Mencetak nilai string name1 di samping beberapa teks di konsol. Itu harus mencetak Guru99.
- Menggabungkan string nama2 ke akhir string nama1. Nilai nama1 sekarang menjadi Guru99John.
- Mencetak nilai string name1 di samping beberapa teks di konsol. Itu harus mencetak Guru99John
- Menentukan panjang string bernama name1 dan menetapkan nilai panjangnya ke variabel len.
- Mencetak nilai variabel len bersama beberapa teks lain di konsol.
- Fungsi main() harus mengembalikan nilai jika program berjalan dengan baik.
- Akhir dari isi fungsi main().
Ringkasan
- String adalah rangkaian karakter.
- String termasuk dalam kelas string standar di C++.
- Kita dapat mendeklarasikan string menggunakan string karakter gaya C atau kelas string standar.
- Fungsi strcpy() menyalin satu string ke string lainnya.
- Fungsi strcat() menggabungkan dua string.
- Fungsi strlen() mengembalikan panjang string.
- Fungsi strcmp() membandingkan dua string.