Next: Removing records from the database, Previous: Inserting and replacing records in the database, Up: The GNU database manager [Contents][Index]
Looks up a given key and returns the information associated with it.
The dptr field in the structure that is returned points to a
memory block allocated by malloc. It is the caller’s
responsibility to free it when no longer needed.
If the dptr is NULL, inspect the value of the
gdbm_errno variable (see gdbm_errno). If it is
GDBM_ITEM_NOT_FOUND, no data was found. Any other value means an
error occurred. Use gdbm_strerror function to convert
gdbm_errno to a human-readable string.
The parameters are:
The pointer returned by gdbm_open.
The search key.
An example of using this function:
content = gdbm_fetch (dbf, key);
if (content.dptr == NULL)
{
if (gdbm_errno == GDBM_ITEM_NOT_FOUND)
fprintf(stderr, "key not found\n");
else
fprintf(stderr, "error: %s\n", gdbm_db_strerror (dbf));
}
else
{
/* do something with content.dptr */
}
You may also search for a particular key without retrieving it:
Checks whether the key exists in the database dbf.
If key is found, returns true (1). If it is not
found, returns false (0) and sets gdbm_errno to
GDBM_NO_ERROR (0).
On error, returns 0 and sets gdbm_errno to a
non-0 error code.
The parameters are:
The pointer returned by gdbm_open.
The search key.