"in den Linden 15" - Leerzeichen lesen
-
Quatsch, andersrum. Wie dumm von mir.
filestream >> nummer >> stadt;
-
mit getline liest er immer nur maximal eine Zeile (getline == Hole Zeile).
btw. würde ich nicht std::istream::getline sondern std::getline und std::string benutzen
-
in >> sArbeiter.Vorname; in >> sArbeiter.Nachname; in.getline(sArbeiter.Strasse, 100); in >> sArbeiter.PLZ; in >> sArbeiter.Ort; in >> sArbeiter.BLZ; in >> sArbeiter.Kontonummer;
Wenn ich das da oben schreibe, dann erhalten ich folgendes im Programm:
Vorname: Max
Nachname: Mustermann
Strasse:
PLZ: Zur
Ort: Schlossallee
BLZ: 5
Kontonummer: 55555Was mach ich falsch? Weiß das denn keina?
-
Wenn "in.getline" nur eine Zeile lesen würde, müsste meins da oben ja klappen, aber der Straßenname verteilt sich ja über alles...
-
versuch es doch mal mit:
in.getline(sArbeiter.Strasse, 100,'\n');
mit dem Parameter '\n' gibst du der getline-Fkt mit, daß max. 100 Zeichen aber auch maximal bis zu einem Zeilenumbruch gelesen werden soll
-
getline(in,sArbeiter.strasse);
Devil
-
@devil81:
aberin.getline(zeile, 100,'\n');
funktioniert, egal ob
ifstream in;
oder
strstream in;
oä
warum stehst du aufdevil81 schrieb:
getline(in,sArbeiter.strasse);
-
getline(in,foo);
funktioniert auch mit sstream und istream...
Nur nimmt es nebenbei noch std::strings und keine C-Strings, was dafür sorgt, dass man sich keinen Kopf um die Zeilen länge machen muss und einfach mal 1000byte reserviert obwohl maximal vielleicht 100byte in jeder Zeile stehen
btw. '\n' ist schon das default Zeichen für den Zeilenumbruch
-
okay, ihr habt gewonnen!
thanx'!
-
Moment... Ich hab
in.getline(sArbeiter.Strasse, 100, '\n');
eingegeben und das ganze bleibt so wie es schon vorher war. Also dass sich die Strasse über den Rest verteilt.
Soll ich vielleicht mal die ganze Funktion kopieren, damit euch das Problem klarer wird? Vielleicht mach ich ja war ganz anderes falsch!?
(Meine Antwort kam so spät, weil ich auf Klassenfahrt war)
Mr. B