Первая серьезная проблема, которую я вижу здесь:
if (temp.userName==userInfo.userName && temp.password==userInfo.password)
Вы пытаетесь сравнить строки с ==
.Вам нужно использовать strcmp()
вместо:
if (strcmp(temp.userName, userInfo.userName) == 0 &&
strcmp(temp.password, userInfo.password) == 0)
Я не уверен, что это как-то связано с "мусором", который вы получаете, но это определенно ошибка.
Поскольку ваш код стоит прямо сейчас, он никогда не введет оператор if.