Ho un problema in c con la seguente funzione che trasforma i caratteri maiuscoli in caratteri minuscoli. L'ho utilizzato funzione delete del seguente codice:

codice:
/*Funzione per eliminare un prodotto dato il nome*/
void EliminaProdotto (int mycar[50])
{
    int risultato;
    char deleteprodotto[50];

    if(ContaProdotti(mycar) > 0)
    {
        printf("Inserisci il nome del prodotto che vuoi eliminare dal carrello = ");
        scanf("%s", deleteprodotto);
        risultato = Delete(mycar, deleteprodotto);
        if(risultato != 0)
        {
            printf("Prodotto eliminato correttamente\n");
        } else {
            printf("Non esiste alcun prodotto con questo nome\n");
        }
    }
}

int Delete (int mycar[50], char deleteprodotto[50])
{
    int i,j,successo=0;
    listaprodotti();

    for(i=0;i<50 && successo==0;i++)
    {
        if((j = mycar[i]) == -1)
        {
            successo = 0;
        } else if(strcmp(strlwr(deleteprodotto),strlwr(elemento[j].nome)) == 0)
        {
            mycar[i] = -1;
            successo = 1;
            return 1;
        }
    }
    return 0;
}
Se la parola non ha spazi il tutto funziona tranquillamente, altrimenti mi dice che non ha trovato alcun prodotto con questo nome...come posso risolvere?