009
17.05.2004, 15:09 Uhr
(un)wissender
Niveauwart
|
War vielleicht etwas abstrakt, darum hier mal ein Beispiel, wie ich es gemeint habe. Wenn du jetzt z.B. "3 4 min" eingibst wird das eingelesen und in Data gespeichert, du hast also jetzt die Werte.
C++: |
#include <iostream> #include <sstream> #include <string>
class Data;
std::ostream& operator<<(std::ostream &out, const Data &data); std::istream& operator>>(std::istream &in, Data &data);
class Data { public: friend std::ostream& operator<<(std::ostream &out, const Data &data); friend std::istream& operator>>(std::istream &in, Data &data);
private: int nummmerDerMessung, zahl; std::string auswahlDerEinheit; };
std::ostream& operator<<(std::ostream &out, const Data &data) { static const std::string separator = " "; out << data.nummmerDerMessung << separator << data.zahl << separator << data.auswahlDerEinheit << separator; return out; }
std::istream& operator>>(std::istream &in, Data &data) { in >> data.nummmerDerMessung >> data.zahl >> data.auswahlDerEinheit; return in; }
int main() { Data d; std::string input; std::stringstream formater; getline(std::cin, input); //Einlesen formater << input; //Formatieren formater >> d; //In Datenstruktur schreiben std::cout << d; //zum test ausgeben. return 0; }
|
Bearbeitung: |
Ersetzt du std::cin durch eine std::ifstream und packst das ganze in eine Schleife, und legst ein Feld von Data an, dann hast du es schon.
|
-- Wer früher stirbt ist länger tot. Dieser Post wurde am 17.05.2004 um 15:10 Uhr von (un)wissender editiert. |