Stringstream stringstream voor parsing
Gebruik std::stringstream om tekst te tokeniseren en naar getypeerde waarden te parsen
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 25Splitsen 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 lezenstd::ostringstream— alleen schrijvenstd::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_argumentC++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.
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
- std::string versus C-stijl char-arrays
- Stringbewerkingen: concat, substr, find en replace
- Stringstream stringstream voor parsing
- Stringconversies: to_string en stoi