int login(usuarios *usuario,FILE *key)
{
int valido=0;
usuarios usutemp;
printf("nLogin: ");
gets(usuario->login);
printf("nPassword: ");
scanf("%ld",&usuario->password);
//no puedes copiar esto, fread recive un apuntador de cualquier tipo
//y tu no le estas pasando ningun apuntador, sino la estructura completa
fread(usutemp,sizeof(usuario),1,key);
//no has declarado la variable temp
//adicionalmente esta comparacion no hace nada
//por lo mismo que no has declarado temp
if(temp.login==(*usuario).login && temp.login==(*usuario).login)
{
valido=1;
}
//el parentesis sobra, aunque no pasa nada.
return(valido);
}