linux — c ++ rhel confd cdb_get возвращает элементы в странном порядке

возникла странная проблема с confd. Элементы индексируются ключом uint — когда я использую конфигурацию с 9 элементами или ниже, все в порядке — cdb_get с индексом 1 возвращает первый элемент, индексирует две секунды и так далее.

Когда я добавляю 10-й элемент — 1-й элемент, который я запрашиваю, я получаю правильный (1 идентификатор), но когда я запрашиваю второй элемент, я получаю 10-й элемент (как будто они отсортированы в «цепочку», а не int, хотя они объявлены как uint в схеме ян).

Борясь с этим в течение нескольких дней, у кого-нибудь есть идея, как исправить заказ на возврат?
Спасибо

0

Решение

Confd порядок строк ключей в виде текста. Итак, 1, 10, 2, 3 — хороший заказ. Чтобы избежать этой проблемы, самый простой вариант — попытаться использовать упорядоченное пользователем предложение в вашем списке. Другой вариант изменяет ключ на числовой формат. Или использовать специальный пункт вызова на заказ (огромная работа).

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector