myconf — это библиотека на C/C++, которая позволяет удобно считывать конфигурации в формате «ключ-значение».
Правила:
API:
Инициализация журнала:
MY_CONF_INS* my_conf_init(const char* file_path, const char* file_name);
Получение int:
MY_CONF_GET_INT32(key, confs, input_value)
Если операция успешна, возвращается true, в противном случае — false.
Получение значения int по умолчанию:
MY_CONF_GET_INT32_DEFAULT(key, confs, input_value, default_value)
Если операция успешна, возвращается true, в противном случае — false.
Получение unsigned int:
MY_CONF_GET_UINT32(key, confs, input_value)
Если операция успешна, возвращается true, в противном случае — false.
Получение значения unsigned int по умолчанию:
MY_CONF_GET_UINT32_DEFAULT(key, confs, input_value, default_value)
Если операция успешна, возвращается true, в противном случае — false.
Получение строки:
MY_CONF_GET_STR(key, confs, input_str)
Строка input_str должна быть предварительно инициализирована. Если операция успешна, возвращается true, в противном случае — false.
Получение строки по умолчанию:
MY_CONF_GET_STR_DEFAULT(key, confs, input_str, default_str)
Строка input_str должна быть предварительно инициализирована. Если операция успешна, возвращается true, в противном случае — false.
Пример: а) Код: ```c #include "mylog.h" #include "myconf.h" #include using namespace std;
int main()
{
my_log_init("./log", "sample.log", "sample.log.wf", 16);
MY_LOG_DEBUG("main begin");
MY_CONF_INS* my_ins = my_conf_init("./conf", "sample.conf");
if( my_ins == NULL)
{
MY_LOG_FATAL("file is not exist or not vaild");
return -1;
}
bool ret;
//get int
int int_a1;
ret = MY_CONF_GET_INT32("int_a", my_ins, int_a1);
if(ret == true)
{
cout << "int_a1 is " << int_a1 << endl;
}
else
{
cout << "get int_a1 fail";
}
//get uint32
uint32 uint32_b1;
ret = MY_CONF_GET_UINT32("int_b", my_ins, uint32_b1);
cout << "uint32_b1 is " << uint32_b1 << endl;
//get int 缺省值
uint32 int_a2;
ret = MY_CONF_GET_UINT32_DEFAULT("int_a_default", my_ins, int_a2, 100);
cout << "int_a_default " << int_a2 << endl;
char string_noraml[1024];
ret = MY_CONF_GET_STR("string_noraml", my_ins, string_noraml);
cout << "string_noraml is " << string_noraml << endl;
char string_quoto[1024];
ret = MY_CONF_GET_STR("string_quoto", my_ins, string_quoto);
cout << "string_quoto is " << string_quoto << endl;
my_conf_close(my_ins);
MY_LOG_DEBUG("main end");
return 0;
}
```
б) Результат выполнения: На основе представленного кода можно предположить, что результатом его выполнения будет вывод значений переменных int_a1, uint32_b1, int_a2, string_noraml и string_quoto. Однако без запуска кода невозможно точно определить, какие именно значения будут выведены.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )