Ciao a tutti, ho usato questo modo per verificare l'esistenza di un file tramite stream:
ifstream trova ("C:\\Users\\Luca\\Documents\\ciao.txt");
if (!trova)
{
cout<<"il file non esiste ";
}
else
{
cout<<" il file esiste";
}
Funziona perfettamente, ma sarei interessato a comprenderne il funzionamento. Come fa a trovare il file?
A me sembra che a "trova" di tipo ifstream li venga assegnato il pathname. Cosi, se lo stream non corrisponde vuol dire che il file non esiste. Mentre se corrisponde e quindi il file si trova nel pathname indicato, il file esiste. Inoltre, se dopo inserisco l'istruzione:
cout<<trova;
mi stampa a video il risultato 0 se il file non c'è, e un indirizzo di memoria se il file esiste e quindi è stato trovato... E questo mi fa pensare ad un puntatore. Nonostante conosco bene le operazioni con i file (almeno credo), ho davvero le idee confuse sul funzionamento di questo codice, che sarei davvero curioso di capire...
Grazie in anticipo