C++ Academy · Les

Stringstream stringstream voor parsing

Gebruik std::stringstream om tekst te tokeniseren en naar getypeerde waarden te parsen

Les 3 van 413 stappen

Stringstream stringstream voor parsing is een gratis C++ Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C++ Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C++ Academy bevat in totaal 4 lessen.

Wat is een stringstream?

std::stringstream verpakt een string in een iostream-interface. Je leest en schrijft ermee met >> en <<, alsof het cin of cout is.

#include <sstream>
std::stringstream ss;

Strings bouwen met stringstream

Gebruik dit om complexe strings uit verschillende typen op te bouwen. Roep .str() aan om het resultaat op te vragen.

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

Parsen met stringstream

Initialiseer de stringstream vanuit een string en haal waarden op met >>. Hierbij worden tokens gescheiden op witruimte.

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

Een regel in tokens lezen

Combineer getline met stringstream om telkens één regel in tokens op te delen.

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

Splitsen op een scheidingsteken

Geef een scheidingsteken mee aan getline op een stringstream om te splitsen op komma's, puntkomma's of elk ander teken.

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

istringstream en ostringstream

Er bestaan drie varianten:

  • std::istringstream — alleen lezen
  • std::ostringstream — alleen schrijven
  • std::stringstream — beide

Gebruik voor de duidelijkheid de meest beperkte variant die je nodig hebt.

Parsefouten controleren

Als het uitlezen mislukt, bijvoorbeeld door een verkeerd type, stelt de stream een fail-bit in. Controleer na het uitlezen !ss of ss.fail().

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

Een stringstream resetten

Als je een stringstream opnieuw wilt gebruiken, wis je zowel de status als de inhoud.

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

Getal naar string

Voor eenvoudige conversies is std::to_string korter dan een stringstream.

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

String naar getal zonder streams

std::stoi, std::stod en std::stoll parsen getallen uit strings en gooien een uitzondering bij ongeldige invoer.

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

C++17 std::from_chars

Voor maximale snelheid parse je met std::from_chars in <charconv> zonder uitzonderingen of geheugentoewijzingen. Ideaal voor kritieke codepaden.

Korte controle

Welke header moet je opnemen om std::stringstream te gebruiken?

Samenvatting

std::stringstream verandert strings in streams, zodat je ze eenvoudig kunt parsen en formatteren. Combineer dit met std::getline om op scheidingstekens te splitsen. Geef bij eenvoudige gevallen de voorkeur aan std::to_string en std::stoi.

Gratis beginnen

Leer C++ met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
51
Lessen
203

Veelgestelde vragen

Is de les “Stringstream stringstream voor parsing” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad C++ Academy, waaronder “Stringstream stringstream voor parsing”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus C++ Academy bevat in totaal 4 lessen.

Wat leer ik in “Stringstream stringstream voor parsing”?

Gebruik std::stringstream om tekst te tokeniseren en naar getypeerde waarden te parsen Je oefent met C++ Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met C++ Academy te beginnen?

Ervaring vooraf is niet nodig. C++ Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Stringstream stringstream voor parsing”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over C++ Academy?

Ja. Elke les over C++ Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. std::string versus C-stijl char-arrays
  2. Stringbewerkingen: concat, substr, find en replace
  3. Stringstream stringstream voor parsing
  4. Stringconversies: to_string en stoi
← Terug naar C++ Academy