Datei Öffnen
-
Hallo,
in meinem C++ Buch steht folgendes:ifstream quelle; string quelldateiname; cin>>quelldateiname; quelle.open(quelldateiname.c_str(), ios::binary||ios::in); ... string zieldateiname; cin >> zieldateiname; ofstream ziel(zieldateiname..c_str(), ios::binary||ios::in); ...Wieso steht bei dem ziel stream kein .open? Heißt das, dass die Datei erzeugt wird? Und was passiert, wenn man eine Datei angibt, die schon existiert?
-
Weil die Datei im Konstruktor von ostream steht. Wenn eine Datei existiert, wird sie überschrieben. Willst du neuen Text an den existierenden Text der Datei anhängen, musst du ios::app nehmen.
Liege ich richtig in der Annahme, das "ios::binary||ios::in" falschen Syntax enthält und durch "ios::binary | ios::in" ersetzt werden müsste?
-
Und wieso kann man das .open einfach weglassen. || war ein Tippfehler von mir im Buch steht|
-
Öffner schrieb:
Und wieso kann man das .open einfach weglassen. || war ein Tippfehler von mir im Buch steht|
Hat er dir im ersten Satz beantwortet
Wenn du die open-parameter beim Konstruktor angibst öffnet der die Datei.
-
Ah ok also hätte man auch:
quelle(quelldateiname.c_str(), ios::binary||ios::in);schreiben können.
-
Ja, aber immernoch dem Datentyp "ifstream" und einem | (Bit-Oder) anstatt zwei (Logischer Oder operator).