Zum Inhalt springen

In eine Datei schreiben???


Empfohlene Beiträge

Geschrieben

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>

Geschrieben

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

Geschrieben

<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>

Geschrieben

<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>

Geschrieben

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

Geschrieben

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 : ')'

Geschrieben

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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...