C++ Academy · Pelajaran

String Stream stringstream untuk Parsing

Gunakan std::stringstream untuk melakukan tokenisasi dan mengurai teks menjadi nilai bertipe.

Pelajaran 3 dari 413 langkah

String Stream stringstream untuk Parsing adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.

Apa Itu stringstream?

std::stringstream membungkus string dalam antarmuka iostream. Bacalah dan tulislah data ke dalamnya dengan >> dan << seolah-olah itu adalah cin atau cout.

#include <sstream>
std::stringstream ss;

Membangun String dengan stringstream

Gunakan untuk membangun string kompleks dari berbagai tipe data. Panggil .str() untuk mendapatkan hasilnya.

std::stringstream out;
out << "User: " << name << ", Age: " << age;
std::string result = out.str();

Mengurai dengan stringstream

Inisialisasikan dari sebuah string dan ekstrak nilainya dengan >>. Data akan dipecah menjadi token berdasarkan spasi kosong.

std::stringstream in("42 3.14 hello");
int i; double d; std::string s;
in >> i >> d >> s;

Membaca Satu Baris Menjadi Token

Gabungkan getline dengan stringstream untuk memecah satu baris setiap kali.

std::string line = "1 2 3 4 5";
std::stringstream ss(line);
int n;
while (ss >> n) {
    std::cout << n * n << " ";
}
// 1 4 9 16 25

Memisahkan Berdasarkan Pembatas

Berikan pembatas kepada getline pada stringstream untuk memisahkan berdasarkan koma, titik koma, atau karakter apa pun.

std::string csv = "apple,banana,cherry";
std::stringstream ss(csv);
std::string fruit;
while (std::getline(ss, fruit, ',')) {
    std::cout << fruit << "\n";
}

istringstream dan ostringstream

Tersedia tiga varian:

  • std::istringstream — hanya untuk membaca
  • std::ostringstream — hanya untuk menulis
  • std::stringstream — untuk keduanya

Gunakan varian yang paling spesifik agar kode lebih jelas.

Memeriksa Kesalahan Penguraian

Jika ekstraksi gagal, misalnya karena tipe yang salah, aliran akan menetapkan bit kegagalan. Periksa !ss atau ss.fail() setelah ekstraksi.

std::stringstream ss("not_a_number");
int x;
if (!(ss >> x)) {
    std::cout << "Parse failed";
}

Mengatur Ulang stringstream

Untuk menggunakan kembali stringstream, hapus status dan isinya.

std::stringstream ss;
ss << "first";
ss.str("");        // clear contents
ss.clear();        // clear flags
ss << "second";

Angka Menjadi String

Untuk konversi sederhana, std::to_string lebih ringkas daripada stringstream.

std::string s = std::to_string(42);   // "42"
std::string p = std::to_string(3.14); // "3.140000"

String Menjadi Angka Tanpa Aliran

std::stoi, std::stod, dan std::stoll mengurai angka dari string dan melempar pengecualian jika masukan tidak valid.

int n = std::stoi("42");
double d = std::stod("3.14");
// std::stoi("xyz") throws std::invalid_argument

C++17 std::from_chars

Untuk kecepatan maksimum, std::from_chars dalam <charconv> mengurai data tanpa pengecualian atau alokasi. Ideal untuk jalur yang sering dijalankan.

Pemeriksaan Cepat

Header apa yang harus disertakan untuk menggunakan std::stringstream?

Ringkasan

std::stringstream mengubah string menjadi aliran agar mudah diurai dan diformat. Gabungkan dengan std::getline untuk memisahkan berdasarkan pembatas. Untuk kasus sederhana, pilih std::to_string dan std::stoi.

Gratis untuk memulai

Belajar C++ dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
51
Pelajaran
203

Pertanyaan yang Sering Diajukan

Apakah pelajaran “String Stream stringstream untuk Parsing” gratis?

Ya — teks lengkap “String Stream stringstream untuk Parsing” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “String Stream stringstream untuk Parsing”?

Gunakan std::stringstream untuk melakukan tokenisasi dan mengurai teks menjadi nilai bertipe. Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C++ Academy?

Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “String Stream stringstream untuk Parsing” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?

Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. std::string vs Larik Karakter Gaya C
  2. Operasi String: concat substr find replace
  3. String Stream stringstream untuk Parsing
  4. Konversi String: to_string dan stoi
← Kembali ke C++ Academy