Книга: Разработка приложений в среде Linux. Второе издание
25.3.2. Последовательное чтение записей
25.3.2. Последовательное чтение записей
С помощью функций dpiterinit()
и dpiternext()
приложения могут производить итерации по всем ключам в базе данных. Ключи не возвращаются в каком-то определенном порядке[180], а базу данных не нужно модифицировать во время итераций, производимых приложением.
int dpiterinit(DEPOT * depot);
char * dpiternext(DEPOT * depot, int * keySize);
В результате вызова функции dpiterinit() qdbm
вернет первый ключ в базе данных во время следующего вызова функции dpiternext()
.
Функция dpiternext()
возвращает указатель либо на первый ключ в базе данных (если только что была вызвана функция dpiterinit()
), либо ключ в базе данных, который следует за ключом, возвращенным в последний раз. Если же в базе данных больше не окажется ключей, будет возвращено NULL
. Если keySize
не равен NULL
, то целочисленное значение, на которое указывает этот параметр, будет задано в качестве размера возвращаемого ключа.
Функция dpiternext()
буфера возвращает указатель на размещение, выполненное функцией malloc()
; после того как приложение завершит работу с ключом, указатель необходимо освободить функцией free()
. Буфер также завершается NULL
, поэтому при необходимости его можно трактовать как строку.
- 25.3. Чтение записей
- Оптимальная структура хранения записей
- Настройка учетных записей пользователей
- 4.4.3. Чтение и запись
- У файла и каталога есть атрибуты (например: Скрытый, Только чтение). Как ими управлять из командной строки?
- 12.5. Чтение «битых» компакт-дисков
- Настройка учетных записей
- Настройка учетных записей почты
- Практическая работа 51. Отбор записей из списка с помощью фильтра
- Контроль учетных записей пользователей (UAC)
- 19.2.4. Чтение и запись значений элементов HTML-форм
- 19.2.5. Чтение и запись содержимого элемента