|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Plasmarain Mini JLI'ler
Anmeldedatum: 21.11.2003 Beiträge: 37
Medaillen: Keine
|
Verfasst am: 18.01.2004, 00:59 Titel: Datenbank oder so |
|
|
Hallo,
ich möchte ein paar Daten speichern, und zwar sollen die zur Laufzeit eingegeben werden und dann mit einem Button (Speichern) in eine Datei geschrieben werden.
Ich habe mir gedacht, ich lege eine Struktur an und schreibe die in eine Datei. Für den Dateinamen setze ich die ersten beiden Daten der Struktur zusammen ( sind char- Arrays) und speichere die unter dem entstandenen Namen.
Jetzt habe ich aber am ende zig Dateien, und in jeder ist nur eine Struktur drin, ist ja irgendwie verschwendung.....
Kann mir einer sagen, wie ich eine vorher nicht festgelegte Anzahl Strukturen in die datei bekomme und dann auch am Ende wieder heraus?
Ich weiß ja nie wieviele gerade drin sind ......
An sich ist das genauso wie bei Christians neuem Buch s. 164 / 165, nur dort ist eben genau festgelegt, dass 2 Strukturen enthalten sind.
(Person1 & Person2)
MFG
Matthias |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 18.01.2004, 01:14 Titel: |
|
|
Variante 1: Du erstellst einen Dateikopf, in dem Du die Information "Wie viele Datensätze gibt es" reinschreibst, vielleicht noch weitere Einmalinfos, wie z.B. eine Zeichenfolge ganz am Anfang, mit der du überprüfen kannst, ob es sich bei dieser Datei überhaupt um ein Format handelt, das du haben möchtest.
Eine zweite Variante wäre bei immer gleichlangen Datensätzen die Dateilänge durch die länge eines Datensatzes zu teilen und schon weisst du, wie viele Datensätze vorhanden sind.
Variante 3: Einfach drauf los lesen, bis zum Ende der Datei _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Plasmarain Mini JLI'ler
Anmeldedatum: 21.11.2003 Beiträge: 37
Medaillen: Keine
|
Verfasst am: 18.01.2004, 12:01 Titel: |
|
|
OK die erste hört sich recht gut an, aber zu zwei und vorallem zu drei habe ich noch fragen.
Zu 2: wie kann ich mir denn die gesamte Dateilänge ermitteln?
Zu 3:Aber wie kann ich dann wissen wann ich aufhören muß?
MFG
Matthias |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 18.01.2004, 12:55 Titel: |
|
|
Plasmarain hat Folgendes geschrieben: | OK die erste hört sich recht gut an, aber zu zwei und vorallem zu drei habe ich noch fragen.
Zu 2: wie kann ich mir denn die gesamte Dateilänge ermitteln?
Zu 3:Aber wie kann ich dann wissen wann ich aufhören muß?
MFG
Matthias |
2.: mit fseek bzw ::seek(bei Streams) ans Ende der Datei gehen und dann die Position abfragen
3.: wenn feof bzw ::eof() true ist, befindest du dich am Ende der Datei. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Plasmarain Mini JLI'ler
Anmeldedatum: 21.11.2003 Beiträge: 37
Medaillen: Keine
|
Verfasst am: 18.01.2004, 13:41 Titel: |
|
|
Ja super, danke ihr beiden das klappt.
MFG
Matthias |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|