C++ rhel confd cdb_get возвращает элементы в странном порядке
Возникла странная проблема с confd. Элементы индексируются ключом uint - когда я использую конфигурацию с 9 элементами или ниже, все в порядке - cdb_get с индексом 1 возвращает первый элемент, индексирует две секунды и так далее.
Когда я добавляю 10-й элемент - 1-й элемент, который я запрашиваю, я получаю правильный ( 1 идентификатор), но когда я запрашиваю второй элемент, я получаю 10-й элемент (как будто они отсортированы в "цепочку", а не int, хотя они объявлены как uint в схеме ян).
Борясь с этим в течение нескольких дней, у кого-нибудь есть идея, как исправить заказ на возврат? Спасибо
1 ответ
Confd порядок строк ключей в виде текста. Итак, 1, 10, 2, 3 - хороший заказ. Чтобы избежать этой проблемы, самый простой вариант - попытаться использовать упорядоченное пользователем предложение в вашем списке. Другой вариант изменяет ключ на числовой формат. Или использовать специальный пункт вызова на заказ (огромная работа).