Я использую Java NDK для извлечения некоторой информации из файла «bin» с использованием структуры C. Мне нужно извлечь информацию о шлюзе, в цикле. Я могу извлечь информацию, но мне нужно конкатенировать результаты и добавить точку .
, чтобы распечатать окончательный IP-адрес и преобразовать его в char*
или string
. Я использовал reinterpret_cast
, но он не работает.Конкатенация unsigned char [] значение и преобразование в char *
Как преобразовать IP-адрес в строку?
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
//Gateway.info[4] is unsigned char type
int config_len = sizeof(ptr->Gateway.info);
for (int i = 0; i < config_len; i++) {
int number = ptr->Gateway.info[i];
}
LOGD("GATEWAY %d",number);
Является 'LOGD' с помощью [' printf' (или один из его братьев и сестер)] (http://en.cppreference.com/w/c/io/fprintf)? Тогда формат для печати 'char' как маленького целого числа -'% hhd "'. Или ''% hhu '' для 'unsigned char'. –
да используется формат printf. –
Проблема заключается в использовании 'reinterpret_cast', потому что язык C не имеет этой функции. Возможно, вы должны правильно обновить свои языковые теги. –