005
30.10.2011, 19:29 Uhr
0xdeadbeef
Gott (Operator)
|
In diesem Fall, wo eingabe keine Whitespaces enthalten kann, ist das einfachste, operator>> zu benutzen, d.h.
C++: |
#include <iostream> #include <sstream> #include <string>
int main() { std::string eingabe, name, rest;
std::cin >> eingabe;
std::istringstream parser(eingabe); std::getline(parser, name, '_'); parser >> rest;
std::cout << strname << ", " << rest << std::endl; }
|
Dabei ist es wahrscheinlich sinnvoll, den Streamstatus nachher abzufragen, um fehlerhafte Eingaben (solche, die keinen Unterstrich enthalten) aussortieren zu können. Etwa
C++: |
std::istringstream parser(eingabe); std::getline(parser, name, '_'); if(parser >> rest) { // Alles OK } else { // Kein _ im String }
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 30.10.2011 um 19:31 Uhr von 0xdeadbeef editiert. |