cpp:stringstreams
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cpp:stringstreams [2019/05/20 09:14] – gthanos | cpp:stringstreams [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 3: | Line 3: | ||
Εκτός από τις κλάσεις για ανάγνωση ή εγγραφή από αρχείο ή τα //stdin// και //stdout// η // | Εκτός από τις κλάσεις για ανάγνωση ή εγγραφή από αρχείο ή τα //stdin// και //stdout// η // | ||
- | * **istringstream: | + | * **istringstream: |
- | * **ostringstream: | + | * **ostringstream: |
* **stringstream: | * **stringstream: | ||
Line 22: | Line 22: | ||
} | } | ||
cout << endl; | cout << endl; | ||
+ | | ||
+ | cout << " | ||
+ | sstream.str("" | ||
+ | cout << " | ||
} | } | ||
</ | </ | ||
+ | |||
+ | <WRAP tip 80% center round> | ||
+ | Παρατηρήστε ότι καθώς διαβάζουμε το //stream// λέξη-λέξη το περιεχόμενο του //stream// παραμένει αμετάβλητο. Μπορείτε να | ||
+ | * Λάβετε το περιεχόμενο ενός // | ||
+ | * καθαρίσετε το περιεχόμενο // | ||
+ | </ | ||
===== Μετατροπή αριθμών σε strings και αντίστροφα ===== | ===== Μετατροπή αριθμών σε strings και αντίστροφα ===== | ||
- | Μπορούμε να χρησιμοποιήσουμε ένα // | + | Μπορούμε να χρησιμοποιήσουμε ένα // |
<code cpp stringstream.cpp> | <code cpp stringstream.cpp> | ||
Line 37: | Line 47: | ||
int main() { | int main() { | ||
- | | + | |
+ | double opnd1, opnd2; | ||
+ | char op; | ||
cout << "Enter arithmetic expression: "; | cout << "Enter arithmetic expression: "; | ||
- | cin >> | + | cin.getline(cexpr, |
- | | + | istringstream sstream(cexpr); |
- | | + | sstream |
+ | | ||
+ | switch(op) { | ||
+ | case ' | ||
+ | result = opnd1 + opnd2; | ||
+ | break; | ||
+ | case ' | ||
+ | result = opnd1 - opnd2; | ||
+ | break; | ||
+ | case ' | ||
+ | result = opnd1 * opnd2; | ||
+ | break; | ||
+ | case '/': | ||
+ | result = opnd1 / opnd2; | ||
+ | break; | ||
+ | default: | ||
+ | cout << " | ||
+ | break; | ||
+ | | ||
+ | cout << result << endl; | ||
} | } | ||
</ | </ | ||
+ | |||
+ |
cpp/stringstreams.1558343666.txt.gz · Last modified: 2019/05/20 08:14 (external edit)