In externe *.txt-Datei speichern
-
Hallo ich möchte aus einem C++ (Konsolenanwendung) in eine externe *.txt-Datei speichern, aber mir gelingt es nicht. Ich bin bei Hilfe sehr dankbar.
Hier ist mein Quelltext:
if(speichern[0]=='j') { Datei=fopen("PC1.txt","r+"); fprintf(Datei,"mainboardab\n"); fprintf(Datei,"mainboardan\n"); fprintf(Datei,"mainboardp\n"); fprintf(Datei,"mainboardop\n"); fclose(Datei); }Dabei sollen in die Datei PC1.txt die jeweiligen 4 Variabeln, jede in einer Zeile, gespeichert werden.
Meine Fehlermeldung ist folgende(Der Fehler tritt erst auf, wenn ich im Programm speichern möchte: http://www.imgimg.de/uploads/fehler42b1ab03GIF.gif
-
Anstatt r+ w+ verwenden. r+ ist nur zum lesen.
-
#include <fstream> using namespace std; int main() { char speichern = 'j'; if(speichern == 'j') { ofstream Datei("c:\\PC1.txt"); Datei << "mainboardab\n"; Datei << "mainboardan\n"; Datei << "mainboardp\n"; Datei << "mainboardop\n"; Datei.close(); } }
-
Ich danke euch. Ich musste das "w+" zum speichern verwenden. Jetzt funktioniert alles wunderbar.

-
Ich habe das auchmal mit Eingaben versucht:
ofstream Datei; Datei.open(Pfad); Datei << Text1; Datei << Text2; Datei << Text3; Datei << Text4; Datei << Text5; Datei << Text6; Datei << Text7; Datei << Text8; Datei << Text9; Datei << Text10; Datei.close();aber es wird kein "enter" erzeugt. Also kein
[/code]
Hallo
Hallo
BlaBlasondern ein:hallohalloblabla[code]
wie bekmme ich es hin das in eine neue Zeile geschrieben wird?
-
ofstream Datei; Datei.open(Pfad); Datei << Text1 << '\n' << Text2 << '\n' << Text3 << '\n' << Text4 << '\n' << Text5 << '\n' << Text6 << '\n' << Text7 << '\n' << Text8 << '\n' << Text9 << '\n' << Text10 << '\n'; Datei.close();Die << und >> -Operatoren können gestaffelt werden.Daher nur einmal "Datei"
das Datei.close() könnte auch weggelassen werden, es wird automatisch erledigt wenn das ofstream-Objekt zerstört wird.
Zu guter letzt könnte man noch das .open() mit in den Konstruktor packen.
-
ofstream Datei; Datei.open(Pfad); Datei << Text1 << "\n"; Datei << Text2 << "\n"; Datei << Text3 << "\n"; Datei << Text4 << "\n"; Datei << Text5 << "\n"; Datei << Text6 << "\n"; Datei << Text7 << "\n"; Datei << Text8 << "\n"; Datei << Text9 << "\n"; Datei << Text10 << "\n"; Datei.close();Edit-> mein cmd + c und cmd + v ist zu langsam

-
The-Kenny schrieb:
ofstream Datei; Datei.open(Pfad); Datei << Text1 << '\n'; << Text2 << '\n'; << Text3 << '\n'; << Text4 << '\n'; << Text5 << '\n'; << Text6 << '\n'; << Text7 << '\n'; << Text8 << '\n'; << Text9 << '\n'; << Text10 << '\n'; Datei.close();Die << und >> -Operatoren können gestaffelt werden.Daher nur einmal "Datei"
Dann musst du aber die Strichpunkte hinten weglassen

-
darthdespotism schrieb:
The-Kenny schrieb:
ofstream Datei; Datei.open(Pfad); Datei << Text1 << '\n'; << Text2 << '\n'; << Text3 << '\n'; << Text4 << '\n'; << Text5 << '\n'; << Text6 << '\n'; << Text7 << '\n'; << Text8 << '\n'; << Text9 << '\n'; << Text10 << '\n'; Datei.close();Die << und >> -Operatoren können gestaffelt werden.Daher nur einmal "Datei"
Dann musst du aber die Strichpunkte hinten weglassen

Hast natürlich recht.
Das ist eine Tücke von Copy&Paste *g*Habs oben mal korrigiert.