Я действительно сомневаюсь, что есть какая-то проблема в strcmp ().: -)
(есть отличная книга по разработке ПО под названием «Прагматичный программист» Эндрю Ханта и Дэвида Томаса, в которой есть совет по отладке под названием «выбор» не сломан », что в конечном итоге означаетчто действительно маловероятно, что базовая системная функция (например, select () или strcmp ()) не работает.)
Вы пытались распечатать содержимое data [i] .hash и возвращенное значение?'Md5FromString (password)' прямо перед strcmp ()?
Что-то вроде:
char *md5;
...
md5 = Md5FromString(password);
printf("i: %d, hash: %s, md5: %s\n", i, data[i].hash, md5);
if (strcmp(data[i].hash, md5) == 0)
{
...
Кроме того, кто выделяет память для функции Md5FromString ()?Вы можете отправить код для Md5FromString ()?
Ура, Пауло