Hi,
das ganze hier ist C++ kein php, daher gibt es keine funktion wie empty()
Dann bastel Dir doch eine?
und firstperson == '',
Die Hochkommas _müssen_ gefüllt sein, da sie schon beim Kompilieren benutzt werden. Du verwechselst das wahrscheinlich mit Anführungszeichen (""), die einen leeren String kennzeichnen.
Weiß einer von euch wie ich das in einem C++ programm sonst noch umsetzen kann?
Wenn man denn wüßte, was Du genau möchtest, könnte man das mit Sicherheit. (sofern überhaupt berechenbar)
Normales Einlesen eines Strings von der Konsole:
#include <iostream>
#include <string>
int main()
{
using std::cin;
using std::cout;
using std::string;
cout << "Bitte Namen eingeben:";
string firstperson;
std::getline(cin, firstperson);
cout << firstperson + "\n";
string together = firstperson + "|";
cout << "Bitte nächsten Namen eingeben:";
string nextperson;
std::getline(cin, nextperson);
cout << nextperson + "\n";
together = together + nextperson;
cout << together + "\n";
return 0;
}
(Diese Zeilen sind mit Bedacht so gewählt. Nur bevor jemand schreit ;-)
In eine Schleife packen kannst Du das selber? Gut.
Nun ist der Code allerdings etwas problematisch, wie Du mit Sicherheit festgestellt haben wirst. Erstens weißt Du jetzt immer noch nicht, wie Du aus der Schleife rauskommst, sprich: wann der Benutzer genügend Namen eingegeben hat, zweitens darf mit der Sammelmethode der Limiter '|' nicht im Namen vorkommen und drittens hast Du am Ende einen langen String der a) evt _zu_ lang ist und b) den Du am Ende auch wieder auseinanderklamüsern mußt. D'rum ein paar Hinweise.
Für das Erste:
Die Variabel ist nie leer, da auch ohne Namen der Benutzer die Returntaste betätigen muß um weiterzukommen. Mehr aber auch nicht! (Es geht auch anders, aber das kannst Du am Anfang getrost ignorieren. Auch gar nicht erst fragen, sonst gibt's einen etwas länglichen Vortrag über IPC und Konsorten ;-). Der Name kann ziemlich lang werden, darf er das?
Für das Zweite:
Naja, dürfte wohl kein Problem sein, da eine Abfrage einzubauen, ob ein '|' im eingegeben String vorkommt, oder? BTW: nicht _vorher_ darauf hinzuweisen, das ein(ige) bestimmte(s) Zeichen nicht in "Namen" vorkommen dürfen ist als Bug anzusehen und zu reparieren.
Für das Dritte:
In der bereits von Christian angesprochenen STL gibt es dafür geeignete Mittel, siehe z.B. http://www.mochima.com/tutorials/STL.html für Erklärungen und Beispiele eines geeigneten Bereiches.
Immer sinnvoll natürlich die FAQ.
so short
Christoph Zurnieden