La funzione ritorna sempre falsa..
Questa è la funzione:
bool controllo_array(string parola, int grandezza)
{
int i = 0;
string arry[] = { "mixed.dll","powered.txt","max.txt","perl.txt","juk.txt","liss.txt","readme.txt","nosh.txt","new.exe","cris.txt","voica.m4d" };
while( i < grandezza)
{
if (parola.c_str() == arry[i].c_str())
return true;
i++;
}
return false;
}
if(controllo_array(f->d_name,11) == false){
//controllo_array() ritorna falso
}else{
//controllo_array() ritorna vero
}
Ora se io andassi a richiamare il controllo così:
controllo_array("powered.txt",11);
dove powered.txt è una stringa esistente nell'array, e 11 è la grandezza dell'array(immessa nella funzione per facilitarmi il while).
Ora, come è possibile che la funzione mi ritorni falsa?
Dovrebbe tornare vera in quanto la stringa è presente nell'array...