В настоящее время пытаюсь исправить код, который какое-то время оставался неиспользованным.
У меня есть две переменные: int8_t foo[size]
и const char* const bar
.
Существует if, который проверяет if(0 != strcmp((char *)foo, bar))
В настоящее время это не удается, даже если printf("%s | %s", foo, bar)
возвращает две одинаковые строки.Я также попытался strncmp
, что также не удается.
Из исследований в Интернете я понимаю, что это, скорее всего, связано с завершением нулевых байтов, однако я не понимаю, как бы я решил / обойти это.
int8_t foo[size];
const char* const bar;
if(0 != strcmp((char *)foo, bar)){
fail
}
Ожидаемые результаты strcmp
возвращает 0, потому что обе строки одинаковы при печати.
Фактический результат: возврат не выполнен.
Фактические данные: 5352A565712345657567565785658956581
При работе printf("Value of foo and bar: %s and %s", foo, bar)
обе переменные возвращают эти данные выше.