C++ Break Line In String

4 min read Jul 01, 2024
C++ Break Line In String

Cara Memisahkan Baris di String dalam C++

Dalam pemrograman C++, string adalah tipe data yang umum digunakan untuk menyimpan teks. Terkadang, kita perlu memisahkan baris dalam string untuk menampilkan teks dengan format yang lebih baik atau untuk memprosesnya secara terpisah.

Berikut beberapa cara untuk memisahkan baris dalam string C++:

1. Menggunakan karakter escape \n

Karakter escape \n merepresentasikan newline. Kita dapat memasukkannya secara langsung ke dalam string untuk membuat baris baru.

#include 
#include 

int main() {
  std::string teks = "Baris pertama\nBaris kedua";
  std::cout << teks;
  return 0;
}

Kode di atas akan menghasilkan output:

Baris pertama
Baris kedua

2. Menggunakan fungsi getline()

Fungsi getline() dapat membaca string dari input standar (seperti keyboard) hingga mencapai karakter tertentu, seperti newline (\n).

#include 
#include 

int main() {
  std::string baris;
  std::cout << "Masukkan teks: ";
  std::getline(std::cin, baris);
  std::cout << "Anda memasukkan: " << baris << std::endl;
  return 0;
}

Kode ini akan meminta pengguna untuk memasukkan teks, kemudian mencetak teks yang dimasukkan. Jika pengguna menekan tombol Enter, input akan berakhir dan disimpan dalam variabel baris.

3. Memisahkan string berdasarkan karakter newline

Kita dapat memisahkan string berdasarkan karakter newline dengan menggunakan fungsi find() dan substr().

#include 
#include 

int main() {
  std::string teks = "Baris pertama\nBaris kedua\nBaris ketiga";
  size_t pos = 0;
  while ((pos = teks.find('\n', pos)) != std::string::npos) {
    std::cout << teks.substr(0, pos) << std::endl;
    pos += 1;
  }
  std::cout << teks.substr(pos) << std::endl;
  return 0;
}

Kode ini akan mencari karakter newline (\n) dalam string teks dan mencetak bagian string sebelum karakter newline tersebut. Setelah itu, pos diubah untuk mencari newline berikutnya.

4. Menggunakan loop for dan substr()

Kita dapat menggunakan loop for dan fungsi substr() untuk memisahkan string berdasarkan karakter newline.

#include 
#include 

int main() {
  std::string teks = "Baris pertama\nBaris kedua\nBaris ketiga";
  size_t panjang = teks.length();
  size_t start = 0;
  for (size_t i = 0; i <= panjang; ++i) {
    if (teks[i] == '\n' || i == panjang) {
      std::cout << teks.substr(start, i - start) << std::endl;
      start = i + 1;
    }
  }
  return 0;
}

Kode ini akan melooping melalui setiap karakter dalam string dan memeriksa apakah karakter tersebut adalah newline (\n). Jika ya, maka bagian string sebelum newline akan dicetak dan start diubah ke posisi setelah newline.

Pilihan Metode

Pilihan metode terbaik untuk memisahkan baris dalam string tergantung pada kebutuhan dan preferensi Anda. Jika Anda hanya perlu memasukkan karakter newline ke dalam string, gunakan karakter escape \n. Jika Anda ingin membaca string dari input standar, gunakan fungsi getline(). Jika Anda ingin memisahkan string berdasarkan karakter newline, gunakan salah satu metode yang disebutkan di atas.

Semoga artikel ini membantu Anda memahami cara memisahkan baris dalam string C++!

Latest Posts