Standard Library
String Streams
std::stringstream reads values from a string using the same style as console input.
string stream
A string stream lets code parse tokens from a string into typed variables.
String Streams
string_streams.cpp
Replay: real traced execution (multi-file project)
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string input = "Ada 3";
std::stringstream stream(input);
std::string name;
int lessons = 0;
stream >> name >> lessons;
std::cout << "name=" << name << std::endl;
std::cout << "lessons=" << lessons << std::endl;
std::cout << "next=" << lessons + 1 << std::endl;
return 0;
}
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string input = "Bjarne 5";
std::stringstream stream(input);
std::string name;
int lessons = 0;
stream >> name >> lessons;
std::cout << "name=" << name << std::endl;
std::cout << "lessons=" << lessons << std::endl;
std::cout << "next=" << lessons + 1 << std::endl;
return 0;
}
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string input = "Grace 2";
std::stringstream stream(input);
std::string name;
int lessons = 0;
stream >> name >> lessons;
std::cout << "name=" << name << std::endl;
std::cout << "lessons=" << lessons << std::endl;
std::cout << "next=" << lessons + 1 << std::endl;
return 0;
}
input ← Ada 3, stream ← (empty), name ← (empty), lessons ← 0
5int main() {6 std::string input→ Ada 3 = "Ada 3"; //@input="Bjarne 5", "Grace 2"78 std::stringstream stream→ (empty)(inputAda 3);9 std::string name→ (empty);10 int lessons→ 0 = 0;1112 stream(empty) >> name→ Ada >> lessons→ 3;1314 std::cout << "name=" << nameAda << std::endl;15 std::cout << "lessons=" << lessons3 << std::endl;16 std::cout << "next=" << lessons3 + 1 << std::endl;17 return 0;18}outputname=Ada lessons=3 next=4
input ← Bjarne 5, stream ← (empty), name ← (empty), lessons ← 0
5int main() {6 std::string input→ Bjarne 5 = "Bjarne 5";78 std::stringstream stream→ (empty)(inputBjarne 5);9 std::string name→ (empty);10 int lessons→ 0 = 0;1112 stream(empty) >> name→ Bjarne >> lessons→ 5;1314 std::cout << "name=" << nameBjarne << std::endl;15 std::cout << "lessons=" << lessons5 << std::endl;16 std::cout << "next=" << lessons5 + 1 << std::endl;17 return 0;18}outputname=Bjarne lessons=5 next=6
input ← Grace 2, stream ← (empty), name ← (empty), lessons ← 0
5int main() {6 std::string input→ Grace 2 = "Grace 2";78 std::stringstream stream→ (empty)(inputGrace 2);9 std::string name→ (empty);10 int lessons→ 0 = 0;1112 stream(empty) >> name→ Grace >> lessons→ 2;1314 std::cout << "name=" << nameGrace << std::endl;15 std::cout << "lessons=" << lessons2 << std::endl;16 std::cout << "next=" << lessons2 + 1 << std::endl;17 return 0;18}outputname=Grace lessons=2 next=3