Zum C++ - Lernen würd ich erstmal mit der reinen C++ - std-Bib anfangen.
d.H. "std::string" statt "String", woauchimmer du dein "String" her
hast.
1 | #include <string>
|
2 | #include <sstream>
|
3 | #include <iostream>
|
4 | #include <algorithm>
|
5 |
|
6 | class FiveStrings {
|
7 | public:
|
8 | FiveStrings(const std::string & input); // das war deine "DoHeader"-Memberfuntkion. Macht als Konstruktor mehr Sinn.
|
9 |
|
10 | void output(ostream & target); // zum wieder ausgeben
|
11 |
|
12 | protected:
|
13 | std::string array[5];
|
14 | };
|
15 |
|
16 | FiveStrings::FiveStrings(const std::string & input) {
|
17 | std::istringstream iss(input);
|
18 | unsigned int i=0;
|
19 | while (i<5 && std::getline(iss, array[i],',')) i++;
|
20 | }
|
21 |
|
22 | void FiveStrings::output(ostream & target) {
|
23 | std::copy(array, array+5, std::ostream_iterator<std::string>(target, "\t"));
|
24 | }
|
25 |
|
26 | void main() {
|
27 | FiveStrings test("ab,cd,ef");
|
28 | test.output(std::cout);
|
29 | }
|
Syntaxfehler berichtigen, und könnte schon das gewünschte tun... bis auf
die überflüssigen TABs in der Ausgabe.
Besser: Statt fixem 5-Elemente-Array einen std::vector<std::string>
verwenden.