A GNU dbm, rövdien GDBM, egy adatbázis függvényeket tartalmazó programozói könyvtár, hasonlít a UNIX dbm-hez. A dbm egy úgynevezett hasított adatbázis, amely kulcs, adat párokat tartalmaz.
apt install libgdbm-dev
Használható fejállományok telepítés után:
man gdbm
A kulcsokat és az adatokat egy datum nevű struktúrában tároljuk:
typedef struct { char *dptr; int dsize; } datum;
#include <gdbm.h> int main() { GDBM_FILE fp; fp = gdbm_open("valami.db", 512, GDBM_WRCREAT, 0666, 0 ); datum key = { "nev1", 4 }; datum value = { "Nagy Janos", 10 }; gdbm_store(fp, key, value, GDBM_INSERT); gdbm_close(fp); }
Fordítás:
gcc -o prog prog.c -lgdbm
A harmadik paraméter jelzők:
Szintaxis:
gdbm_open (const char *name, int block_size, int flags, int mode, void (*fatal_func)(const char *))
int gdbm_store (GDBM_FILE dbf, datum key, datum content, int flag)
int gdbm_close (GDBM_FILE dbf)
Kész eszközök telepítése:
apt install gdbmtool
Indítás:
gdbmtool
Indítható egy fájl megnyitásáva:
gdbm_dump fajl.db
gdbmtool> store KEY? nev1 DATA? Nagy Janos gdbmtool> list nev1 Nagy Janos
gdbmtool> store nev2 "Baranyi Ferenc"
Dump:
gdbm_dump fajl.db