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++!