ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
2841
2841
EMPFEHLEN
-
Kann mir mal einer Tips geben wie ich am besten Daten in eine .dat Datei speichere und dann später wieder aufrufe und vorallem ausfiltere und in Arrays/Variablen lade.
Also Beispiel ich will Namen und Adressen von 2 Menschen in einer Datei speichern und später bei einem erneuten Programmstart auch wieder afurufen, ausfiltern, und in Variablen oder Arrays bekommen.
Was für Techniken setzt ihr für sowas ein?
-
11.03.04 11:47 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Ich setze iostreams ein. Was ist eine .dat-Datei?
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Was ist ein Iostream?
-
11.03.04 11:58 #4
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Das sind Klassen, die bei C++ die Ein- und Ausgabe von und auf beispielsweise Dateien steuern. In C verwendet man stattdessen Filefunktionen wie fopen(), fprintf() usw.
Folgender Schnipsel würde zum Beispiel meinen Nickname in eine Datei schreiben:
Code :1 2 3 4 5 6 7 8 9 10
#include <fstream> int main() { using namespace std; ofstream of( "meine_datei.txt" ); // ofstream = Datei-Ausgabe-Strom of << "Kachelator"; return 0; }Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
iostream ist nur eine Klasse siehe MSDN Library . Und mit deiner .dat Datei meintest du wahrscheinlich einfach nur irgendeine Datei in der deine Daten gespeichert werden. Ob die nun .dat heißt oder .bmp oder .lol ist egal haupsache du liest die Daten so aus wie du sie reingeschrieben hast. Wie die Endung heißt ist dir überlassen.
Edit: mmh eine Minute zu spät
-
Ich glaube ich hab mich nicht ganz richtig ausgedrückt.
Ich weis wie cih Dateien Öffne/Schließe und in Dateien schreibe/auslese.,
Aber was bringt mir ein string in dem ich z.B die Adressen von 10 Leuten habe (Das Programm weis nciht wie viele es sind) wenn ich das nicht irgendwie trenen und in Variablen/Arrays bekommen kann?
-
11.03.04 12:20 #7
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Dann musst du die Daten in der Datei irgendwie trennen, zum Beispiel mit Kommas.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Auf die Idee bin cih auch schon gekommen.
Also in PHP würde ich mit ner Kombination von Trennzeichen arbeiten und dann mit explode() rangehen.
Nur gibts das auch in C/C++?
Und wie genau arbeitet es da?
-
11.03.04 12:31 #9
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Nein, es sei denn, dass es eine Library gibt, die das ermöglicht.Nur gibts das auch in C/C++?
Grundsätzlich hast du ja (vereinfacht gesagt) drei Möglichkeiten, Objekte zu serialisieren:
1. Binär
Du klatscht den ganzen Speicher, den dein Objekt im Speicher einnimmt, in eine Binärdatei rein. Mehrer Objekte können getrennt werden, weil jedes Objekt gleichgross ist.
2. Klartext
sowas wie:
[Kunde 0]
name=Kachelator
telefon=0123456789
[Kunde 1]
name= Bennily
telefon=333333
usw.
3. Datenbankzugriff mit SQLChor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Könntest du mir mal nen konkretes Beispiel für die 2te Version geben?
-
11.03.04 12:42 #11
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Versuch einfach mal, deine Daten in dieser Form in eine Textdatei zu speichern. Das ist recht einfach. Wenn du das hast, kommt der spannende Teil: Du liest die Datei ein und untersuchst sie zeichenweise, ob von dir verwendete Schlüsselworte auftauchen. In meinem Beispiel wären das "[", "Kunde", "name" und so weiter. Wenn dann eines dieser Worte auftaucht, muss dein Programm entsprechen reagieren: Bei "Kunde" ein neues Kundenobjekt erzeugen, bei "telefon" dem zuletzt erzeugten Kundenobjekt die folgende Telefonnummer zuweisen und so fort.
Die von mir im Beispiel verwendete Syntax ist natürlich nur eine Beispielsyntax.
Ich habe übrigens gute Erfahrung mit LUA für diesen Einsatzzweck gemacht, aber das geht wohl über das Thema hinaus.Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Vielen Dank, ich glaube so kann ich das schaffen was ich will.
Aber noch eine Frage: Brauche ich die Umbrüche dafür?
-
11.03.04 12:52 #13
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
In meinem Beispiel oben nicht unbedingt, es macht das Ganze auf jeden Fall lesbarer, was man berückisichtigen sollte, da es eine grosse Hilfe beim Debuggen ist. Ich habe in einem grösseren Projekt (Das lief über etwas mehr als zwei Jahre) von vorneherein festgelegt, dass alle Projektdateien in einer ähnlichen gescripteten Form angelegt werden und habe es nicht bereut. Es hat unglaublich viel Zeit beim Debugging und Testing gespart. Erst die endgültigen Daten lagen dann aus Performancegründen in einer eher binären Form auf der Platte.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
Ähnliche Themen
-
Bilder in MySQL speichern und wieder auslesen
Von cry_baby im Forum PHPAntworten: 9Letzter Beitrag: 01.08.09, 18:12 -
aus .txt Buchstabenweise auslesen, ändern und wieder speichern
Von Lemieux66 im Forum C/C++Antworten: 11Letzter Beitrag: 26.01.09, 19:50 -
Werte in Dateien speichern und wieder auslesen
Von Crackmaster im Forum C/C++Antworten: 12Letzter Beitrag: 29.05.07, 08:18 -
zahl in datei speichern und wieder auslesen
Von Supa im Forum C/C++Antworten: 15Letzter Beitrag: 17.09.04, 17:34 -
File in DB speichern und wieder auslesen
Von daJunior im Forum .NET ArchivAntworten: 3Letzter Beitrag: 25.06.04, 07:40





Zitieren
Login






