-----Original Message----- From: Tobias König [SMTP:tokoe82@yahoo.de] Sent: Montag, 6. Dezember 1999 14:25 To: lug-dd@schlittermann.de Subject: Re: [Lug-dd] Re: Datenbank
Hallo Torsten,
Ich heisse zwar nicht Willi, aber da Deine Mail nun mal an die Liste ging, antworte ich trotzdem, okay?
Die man page der gdbm ist wirklich nicht toll, aber es steht drin, dass alle Pointer von der Bibliothek intern verwendet und wieder freigegeben werden. Du musst Deine Daten also mit strcpy o. ae. kopieren. Folgende Beispielprogramme funktionieren bei mir. ..... db-fetch.c:
#include <gdbm.h> int main () { datum key, val; GDBM_FILE db = gdbm_open ("tk.db", 0, GDBM_READER, 0644, 0); key.dptr = "Tobias"; key.dsize = 7; val = gdbm_fetch (db, key); puts (val.dptr); gdbm_close (db); /* Hier darf val nicht mehr verwendet werden! */ return 0; }
Kleine Frage!!!
Da ich in der Datenbank sehr viele Name speichern will, weiß ich nicht, wie ich das mit den vielen 'val'- Variablen lösen soll, wenn jeder Datensatz eine eigene Variable erfordert.
Das ist kein Problem !!! Du kannst dort reinpacken was willst Du! NUR: wenn Du was abgefragt hast, sorge dafuer, dass Du dann mit einer Kopie arbeitest! Folgende Abfragen (ueblich) ueberschreiben Dein Ergebnis moeglicherweise, die Kopie nicht! (davon wissen die ja auch gar nicht :-)
Willi