C++ Cin Getline String

3 min read Jul 01, 2024
C++ Cin Getline String

Memahami cin.getline() untuk Memasukkan String di C++

Dalam pemrograman C++, cin.getline() adalah fungsi yang berguna untuk membaca string dari input standar (biasanya keyboard) dan menyimpannya ke dalam variabel string. Fungsi ini mengatasi keterbatasan cin biasa dalam menangani spasi putih.

Kenapa Perlu cin.getline()?

Saat menggunakan cin untuk membaca string, input akan berhenti pada karakter spasi putih pertama yang ditemukan. Ini bisa menjadi masalah jika ingin memasukkan string yang mengandung spasi putih, seperti kalimat atau nama lengkap.

Contoh:

#include 
#include 

using namespace std;

int main() {
  string nama;
  cout << "Masukkan nama Anda: ";
  cin >> nama;
  cout << "Nama Anda adalah: " << nama << endl;
  return 0;
}

Jika Anda memasukkan "John Doe" sebagai nama, outputnya hanya akan menjadi "John". cin hanya membaca hingga spasi putih pertama.

Cara Kerja cin.getline()

cin.getline() menerima dua parameter:

  1. Pointer ke karakter: Ini adalah variabel string tempat input akan disimpan.
  2. Jumlah karakter: Ini menentukan maksimum karakter yang diizinkan untuk dibaca.

Fungsi ini akan membaca semua karakter dari input standar hingga karakter newline (\n) atau jumlah karakter yang ditentukan tercapai. Karakter newline akan dihapus dari stream input.

Contoh Penggunaan cin.getline()

#include 
#include 

using namespace std;

int main() {
  string nama;
  cout << "Masukkan nama lengkap Anda: ";
  cin.getline(nama, 100);
  cout << "Nama Anda adalah: " << nama << endl;
  return 0;
}

Dalam contoh ini, cin.getline() akan membaca hingga 100 karakter atau karakter newline ditemukan.

Perbedaan cin.getline() dan getline()

Fungsi getline() dari library <string> juga dapat digunakan untuk membaca string dari input standar. Namun, getline() memiliki beberapa perbedaan:

  • getline() mengambil tiga parameter: variabel string, jumlah maksimum karakter, dan karakter delimiter.
  • getline() secara default menggunakan karakter newline (\n) sebagai delimiter, sementara cin.getline() tidak.

Kesimpulan

cin.getline() adalah fungsi penting dalam C++ yang membantu dalam membaca string yang mengandung spasi putih dari input standar. Pahami cara kerjanya dan bedakan dengan fungsi getline() agar Anda dapat memilih fungsi yang tepat untuk kebutuhan Anda.

Latest Posts


Featured Posts