Ein und Ausgabe über Dateien
-
Hi,
vielleicht könnt ihr mir helfen

Ich möchte die ein und Ausgabe über Dateien (txt) umsetzen.
Leider funktioniert das nicht wie es soll

Habe auch auf dem Desktop eine Datei angelegt die "eingabep3" heißt.
Funktioniert alles nicht

#include <iostream> #include <iomanip> #include <string> #include <fstream> using namespace std; int main () { string kette1,kette2; bool kette3; cout << "Geben Sie ihr erstes Wort,Buchstaben oder Zahl ein:"; cin >> kette1; cout<< endl; cout << "Geben Sie ihr zweites Wort,Buchstaben oder Zahl ein:"; cin >> kette2; cout << endl; cout << "Erste Zeichenkette:" << kette1<<endl; cout << endl; cout<< "Zweite Zeichenkette:"<< kette2 <<endl; cout<<endl; kette3=(kette1>kette2); cout << "kette1>kette2" <<" " <<"ist eine:"<<" "<< kette3 <<" "<<"Aussage"<<endl; cout << endl; cout <<"0=falsch"<<endl; cout <<"1=wahr"<<endl; cout << endl; fstream cin("c:\\eingabep3.txt",ios::in); fstream cout("c:\\ausgabep3.txt",ios::out); }
-
gast1654054 schrieb:
vielleicht könnt ihr mir helfen

Ja .. wahrscheinlich
gast1654054 schrieb:
Ich möchte die ein und Ausgabe über Dateien (txt) umsetzen.
Leider funktioniert das nicht wie es soll

'funktioniert nicht' ist keine ausreichende Fehlerbeschreibung!
Wie soll es denn funktionieren?Dein Code - entrümpelt:
#include <iostream> #include <string> #include <fstream> int main () { using namespace std; string kette1,kette2; cout << "Geben Sie ihr erstes Wort,Buchstaben oder Zahl ein:"; cin >> kette1; cout << "\nGeben Sie ihr zweites Wort,Buchstaben oder Zahl ein:"; cin >> kette2; cout << "\nErste Zeichenkette:" << kette1 << endl; cout << "\nZweite Zeichenkette:" << kette2 << endl; bool kette1_gt_2=(kette1>kette2); cout << "\n\"" << kette1 << "\">\"" << kette2 << "\" ist eine " << (kette1_gt_2? "wahre": "falsche") << " Aussage" << endl; ifstream in("c:\\eingabep3.txt"); // Datei liegt auf C:; nicht auf dem Desktop! if( !in.is_open() ) { cerr << "Konnte Datei nicht oeffnen" << endl; return -2; } // .. und was steht in der Datei? // .. und was willst Du daraus lesen? }
-
Danke schon mal für deine Antwort.
Mir geht es momentan weniger um den Programminhalt sondern um die ein und Ausgabe über Dateien. Deshalb hier nochmal ein sehr einfaches Programm.
Am besten mit diesen Befehlen:
fstream cin(“namedereingabedatei.txt“,ios::in);
fstream cout(“namederausgabedatei.txt“,ios::out);Diese stehen auch auf meinem Arbeitsblatt (sollte dann auch irgendwie so funktionieren^^)
Leider steht auf dem Arbeitsblatt nicht genau beschrieben wo ich fstream cin(“namedereingabedatei.txt“,ios::in); und fstream cout(“namederausgabedatei.txt“,ios::out); einfügen muss

Dort steht nur das man mit einem Texteditor die Eingabedatei erzeugen soll.
In dem Fall gebe ich einfach mal die Zahl 4 ein.Wenn ich die txt Datei speicher soll automatisch eine Ausgabedatei.txt erstellt werden.
#include <iostream> #include <string> #include <fstream> int main () { using namespace std; fstream cin("Testeingabe.txt",ios::in); int Zahl; cout << "Geben Sie eine Zahl ein "<<endl; cin >> Zahl; cout << endl; cout <<"Ihre Zahl lautet:"<< Zahl; fstream cout("Testausgabe.txt",ios::out); }
-
gast1654054 schrieb:
Am besten mit diesen Befehlen:
fstream cin(“namedereingabedatei.txt“,ios::in);
fstream cout(“namederausgabedatei.txt“,ios::out);Diese stehen auch auf meinem Arbeitsblatt (sollte dann auch irgendwie so funktionieren^^)
Wenn das auf Deinem Arbeitsblatt steht, so solltest Du Dich vom Autor dieses Arbeitsblattes fern halten - zumindest beim Thema C++.
Das was Du 'Befehl' nennst ist eine Variablen Deklaration. Die Variable ist vom Typ fstream und hat einmal den Namen cin und einmal cout. Nun sind aber cin und cout gleichzeitig reservierte Namen von einem ostream und einem istream und sollte daher nicht für eigene Variablennamen genutzt werden - wie hier geschehen.
Außerdem ist es ungeschickt einen fstream zu nutzen, wenn Du nur lesen (ios::in) oder nur schreiben (ios::out) willst. Besser wäre in diesem Fallifstream in(“namedereingabedatei.txt“); // 'in' ist eine Variable vom Typ ifstream und damit auch ein istream if( !in.is_open() ) // ab hier kann 'in' genutzt werden, z.B. fragen wir mal nach, ob das Öffnen gut gegangen ist { cerr << "Fehler beim Oeffnen der Datei" << endl; return -2; } ofstream out(“namederausgabedatei.txt“); // 'out' ist eine Variable vom Typ ofstream und damit auch ein ostream int zahl = 4; out << zahl; // hier kann 'out' benutzt werden; z.B. um einen Integerwert in die Datei zu schriebenWenn Du Antworten erwartest, so solltest Du konkrete Fragen stellen, oder konkrete Probleme schildern. Ein '.. mir geht es um die Ein- und Ausgabe von Dateien' ist zu allgemein. Ich könnte Dir jetzt hier einen Roman schreiben, oder besser Du liest gleich ein Buch - z.B.:
Standard C++ IOStreams and Locales | ISBN: 9780201183955 enthält gut 600 Seiten, steht aber immer noch zu wenig drin.
:xmas1: