Всех приветствую!
Имеется проблема с работой nk_edit_string, библиотека Nuklear.
Суть: вводим в поле целое число и нажимаем кнопочку рядом, число выводится в консоле (для отладки).
int F=5; // глобальная
...
static char text[64];
static int text_len;
active = nk_edit_string(ctx, NK_EDIT_SIMPLE, text, &text_len, 64, nk_filter_decimal);
if (nk_button_label(ctx, "->")) // || active & NK_EDIT_COMMITED)
{
text_len = strlen(text);
if (text_len !=0 && text_len<8)
{
F = atoi(text);
printf("F=%d\n", F);
memset(text, '\0', 64);
text_len=0;
}
printf("text=%s\n", text);
}
...
Тест 1: ввели 77, вывод: F=77, text="";
Тест 2: ввели 555, но тут же передумали, стерли и снова набрали 77, вывод: F=775, text="";
Получается буфер text был «555», но был перебит «775», т.е. он не чиститься при каждом новом вводе/редактировании.
Кто-нибудь умеет правильно использовать NK_EDIT_SIMPLE, чтобы не было такого эффекта (вернее сказать, дефекта)?