Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Seichern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
03.09.2003, 11:37 Uhr
~Lukas
Gast



Zitat:
Loddab postete
Du kannst den Varibalenwert so abspeichern:

C++:
  fprintf(file, "Lebensenergie= %i", lebensenergie); // wenn lebensenergie die Variable ist




und lesen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
03.09.2003, 11:40 Uhr
~lukas
Gast



Code:

fscanf(file, "%i", lebensenergie);




?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
03.09.2003, 11:45 Uhr
typecast
aka loddab
(Operator)


Lies immer zwei Werte ein:

C++:
fscanf(file, "%s", s);
switch(s)
{
   case: "Lebensenergie=" : fscanf(file, "%i", lebensenergie);
   ...
}



Und wenn du beim Schreiben in die Textdatei dann noch ein \n ans Ende hängst, dann sieht das in der Textdatei auch gut aus.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
03.09.2003, 11:59 Uhr
0xdeadbeef
Gott
(Operator)


fstream usw. gehen nicht in C, nein. Sind ja Klassen, und die kennt C nicht. was fscanf angeht:

C++:
fscanf(file, "%i", [b]&[/b]lebensenergie);


den int als Referenz übergeben, sonst schreibt er dir irgendwo in den Speicher.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
03.09.2003, 12:02 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:

(...) sonst schreibt er dir irgendwo in den Speicher


was häufig dann ein segfault auslöst
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
03.09.2003, 12:04 Uhr
0xdeadbeef
Gott
(Operator)


aber halt nicht immer, was eigentlich noch schlimmer ist. Sowas führt dann zu Heisenbugs, und die zu debuggen kann richtig wehtun.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
03.09.2003, 12:08 Uhr
~lukas
Gast


aaalso, ich hab das mal alles zusammengebastelt. So:


Code:

#include <stdio.h>

int lebensenergie=225;

int main(int argc, char* argv[])
{
    char lesen[14];

    FILE* file = fopen("test.txt", "w+");

    fprintf(file, "%i", lebensenergie);

    fclose(file);




    file = fopen("test.txt", "r"); // öffnet Datei zum lesen



    fscanf(file, "%i", &lebensenergie);

    close(file);



    printf("%i",lebensenergie);

    getchar();
}





Is das gut so?

Ich denke allerdings, dass dann jede Variable eine andere Datei braucht, oder?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
03.09.2003, 12:13 Uhr
0xdeadbeef
Gott
(Operator)


Abgesehen davon, dass es auch beim zweiten mal fclose, nicht close heißen muss, ja.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
03.09.2003, 12:14 Uhr
typecast
aka loddab
(Operator)


@Oxdeadbeef: Das mit der Referenz vergesse ich jedesmal. Mir fällt das immer dann ein, wenn ich den Segmentation Fault bekomme
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
03.09.2003, 12:16 Uhr
typecast
aka loddab
(Operator)


@lukas: Nein du kannst alle Variablen in eine Datei stecken. Schreib sie einfach der Reihe nach in die Datei. Dannach kannst du sie wieder in der Reihenfolge auslesen.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: