Woodstock Geschrieben 26. November 2001 Geschrieben 26. November 2001 Welchen Befehl brauche ich um etwas in eine Datei zu schreiben :confused: ? Bine Zitieren
DocMabuse Geschrieben 26. November 2001 Geschrieben 26. November 2001 Zunächst brauchst Du die <fstream.h>. Dann musst Du mit der folgenden Zeile eine Datei öffnen und ein Objekt erstellen, mit dem Du später arbeitest: ofstream fout ("datei.txt", ios: :out); Jetzt ist die Datei mit dem Namen "datei.txt" geöffnet und lässt sich beschreiben (mit 'ios::app' würde die Datei nicht überschrieben, sondern an die Datei angehängt). Wenn Du ganz ohne Fehlerabfragen arbeiten willst, kannst Du jetzt etwas in die Datei schreiben. Z.B. so: fout<<"Hallo!"; //super Beispiel Zum Schluss, schliesst Du die Datei am Besten wieder mit: fout.close(); Um Fehler beim Öffnen der Datei abzufangen würde ich alles in eine Abfrage packen: ofstream fout ("datei.txt", ios: :out); if (fout.good()) //prüft, ob die letzte Aktion von fout erfolgreich war { fout<<"Hallo"; fout.close(); } DocMabuse <FONT COLOR="#a62a2a" SIZE="1">[ 26. November 2001 13:14: Beitrag 2 mal editiert, zuletzt von DocMabuse ]</font> Zitieren
Woodstock Geschrieben 26. November 2001 Autor Geschrieben 26. November 2001 Also ich öffne Dateien mit 'fopen'. Gibt es da dann auch einen Befehl den ich nutzen kann? Bine Zitieren
DocMabuse Geschrieben 26. November 2001 Geschrieben 26. November 2001 Wenn Du mit 'fopen' arbeiten willst, sieht die Sache etwas anders aus. Du brauchst hier einen Zeiger auf eine Datei. Dieser Zeiger ist vom Type 'FILE'. Wenn Du jetzt etwas in die Datei schreiben willst, kannst Du z.B. 'fputs' (Strings in die Datei schreiben) benutzen. Es gibt noch 'fputc' um Character zu schreiben. Die Datei sollten anschliessend auch hier geschlossen werden. Das 'w+' ist ein Attribut. Sie schlüsseln sich wie folgt auf: r : Datei zum Lesen öffnen (read) w : Datei zum Schreiben öffnen (write) a : Datei zum Schreiben am Dateiende öffnen (append) r+ : Datei zum Lesen und Schreiben öffnen w+ : Datei zum Lesen und Schreiben öffnen. Wenn die Datei existiert, wird der Inhalt gelöscht, wenn sie nicht existiert, wird sie angelegt. a+ : Datei zum Lesen und Anhängen öffnen. FILE *MeineDatei; //Dateivariable deklarieren: MeineDatei = fopen("C:\\temp.txt", "w+"); fputs("Hallo Welt!", MeineDatei); fputs("ohne Return\n", MeineDatei); fputs("Hallo Welt\n", MeineDatei); fputs("mit Return\n", MeineDatei); fclose(MeineDatei); Auch hier gibt es Möglichkeiten, z.B. auf das Dateiende hin zu prüfen: while(!feof(MeineDatei)) { ... } DocMabuse Zitieren
gajUli Geschrieben 26. November 2001 Geschrieben 26. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von DocMabuse: <STRONG>Dieser Zeiger ist vom Type 'FILE'. </STRONG> Zitieren
DocMabuse Geschrieben 26. November 2001 Geschrieben 26. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von ElektroUli: <STRONG> Kleine Spitzfindigkeit: Er ist vom Typ FILE*. Uli</STRONG> Zitieren
Woodstock Geschrieben 26. November 2001 Autor Geschrieben 26. November 2001 Gut, das mit dem FILE wuste ich schon, denn mit fopen habe ich ja schon gearbeitet, und das klappt auch. Meine MSDN funktioniert gerade nicht (ist auf einem Computer auf den ich nicht so ohne weitere zugreifen kann, und mein Chef mußte gerade weg und kommt erst in einer Stunde wieder). Kann mir jemand genau erklären wie ich fputs benutzen muss? Bine Zitieren
Woodstock Geschrieben 26. November 2001 Autor Geschrieben 26. November 2001 Was ist an dieser fz= fopen("c:\\Liste.txt", a+); Zeile falsch? Er sagt: <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> error C2059: syntax error : ')' Zitieren
humfry Geschrieben 26. November 2001 Geschrieben 26. November 2001 hi, a+ in hochkommas? "a+"? Zitieren
Woodstock Geschrieben 26. November 2001 Autor Geschrieben 26. November 2001 Ja, danke habe ich auch schon rausgefunden gehabt. Kannst Du mir auch bei fputs helfen? Weil an der Stelle im Programm wo ich das benutzen will stürzt er immer ab . Bine Zitieren
haddock Geschrieben 29. November 2001 Geschrieben 29. November 2001 Kuckuck, int fputs(const char*, FILE*); außerdem kannst du, wenn du die Zeilen noch zusammenbasteln willst, auch int fprintf(FILE*, const char* formatstring, ...); benutzen. Funzt wie printf(), nur daß in eine Datei geschrieben wird. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.