Apa yang Dilakukan Fungsi cin.getline()
dalam C++?
cin.getline()
adalah fungsi yang digunakan dalam bahasa pemrograman C++ untuk membaca string dari input standar, yaitu biasanya dari keyboard. Fungsi ini berbeda dengan cin
biasa yang hanya membaca satu kata hingga spasi.
Keunggulan cin.getline()
dibandingkan cin
Biasa
- Membaca string dengan spasi:
cin.getline()
dapat membaca string yang mengandung spasi, sedangkancin
hanya akan membaca satu kata hingga spasi pertama. - Membatasi panjang string:
cin.getline()
memungkinkan Anda menentukan jumlah karakter maksimum yang ingin dibaca, mencegah overflow buffer.
Cara Kerja cin.getline()
Sintaks dasar cin.getline()
adalah:
cin.getline(nama_array, ukuran_array, karakter_batas);
nama_array
: Nama variabel array karakter yang akan menyimpan string yang dibaca.ukuran_array
: Jumlah karakter maksimum yang dapat disimpan dalam array, termasuk karakter null (\0
) yang ditambahkan secara otomatis di akhir string.karakter_batas
(opsional): Karakter yang digunakan untuk mengakhiri pembacaan. Jika tidak ditentukan, karakter newline (\n
) akan digunakan sebagai karakter batas.
Contoh Penggunaan cin.getline()
#include
using namespace std;
int main() {
char nama[50];
cout << "Masukkan nama Anda: ";
cin.getline(nama, 50);
cout << "Nama Anda adalah: " << nama << endl;
return 0;
}
Kode di atas akan meminta pengguna untuk memasukkan nama mereka. Fungsi cin.getline()
akan membaca nama hingga karakter newline (\n
) ditekan atau hingga 50 karakter telah dibaca (tergantung mana yang terjadi lebih dulu). Kemudian, nama yang dimasukkan akan ditampilkan kembali ke layar.
Peringatan
- Pastikan
ukuran_array
cukup besar untuk menyimpan string yang ingin dibaca. Jika tidak,cin.getline()
mungkin akan menyebabkan overflow buffer. - Gunakan
cin.ignore()
untuk membersihkan buffer input setelah menggunakancin.getline()
jika Anda ingin menggunakancin
biasa di kemudian hari.
Kesimpulan
cin.getline()
merupakan fungsi yang berguna dalam C++ untuk membaca string dengan spasi dan membatasi panjang string. Fungsi ini memberikan fleksibilitas dan kontrol lebih besar dibandingkan dengan cin
biasa. Dengan memahami cara kerja dan penggunaan cin.getline()
, Anda dapat mengolah input pengguna dengan lebih efektif dalam program C++ Anda.