Вы сравниваете один символ, search
с (я предполагаю) всей строкой, details->name
.
Подпись метода для strcmp
:
int strcmp (const char *str1, const char *str2);
Вы называете это как:
int strcmp (const char str1, const char *str2);
Не только это, но вы собираетесь читать за пределами вашего буфера символов str1, если вы исправите его, чтобы он компилировался, если только он не является символом0, чего не будет.
Чтобы исправить это, вы должны выполнить одно из следующих действий:
- Измените свое сравнение, чтобы взглянуть только на первые символы.
- Измените переменную поиска на строку (вероятно, char []) и прочитайте всю строку, затем сравните.