View Full Version : C++ : verificare l'esistenza o meno di un file
Come posso fare col minor numero di istruzioni a verificare semplicemente che un file situato in una cartella esiste o meno ?
ilsensine
04-04-2005, 11:43
s/o?
Originariamente inviato da ilsensine
s/o?
Ops Sorry ... Windows xp
ilsensine
04-04-2005, 11:59
GetFileAttributes?
Qualcuno che programma sotto windows potrebbe suggerirti una soluzione più appropriata.
Forse FindFirstFile è un po più approriata per questo tipo di operazioni...
la Specifica su msdn eccola qui (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/findfirstfile.asp).
Ciao.
Se ricordo bene già quando si apre un file in lettura se l'apertura non va a buon fine ti ritorna un errore ....
tipo :
fstream prova;
prova.open("file.dat",ios::in);
mi pare che open debba ritornare qualcosa ma non ne sono tanto sicuro o meglio non lo ricordo ...
ilsensine
04-04-2005, 13:56
Non "aprirei" il file per testarne l'esistenza, anche se è il metodo in apparenza più semplice. Può avere effetti collaterali (ad es. modificare la data di ultimo accesso) o fallire in situazioni particolari (ad es. un file che non puoi leggere, ma dentro una directory che puoi sfogliare).
si diciamo che la open di fstream dovrebbe tornare un valore 0 cioè falso quando l'apertura del file va male e un valore non zero cioè vero quando l'apertura va bene, ma allore se devi utilizzare questo metodo ti conviene usare l'fopen o addirittura l'open a basso livello in modo che non istanzi nessun oggetto.
Ciao.
Originariamente inviato da ilsensine
Non "aprirei" il file per testarne l'esistenza, anche se è il metodo in apparenza più semplice. Può avere effetti collaterali (ad es. modificare la data di ultimo accesso) o fallire in situazioni particolari (ad es. un file che non puoi leggere, ma dentro una directory che puoi sfogliare).
in linux in questo caso come conviene fare? per esempio se devo testare l'esistenza del file e chiedere se sovrascriverlo
ilsensine
04-04-2005, 15:00
man 2 stat
Forse GetFileSize è la più semplice...
In ogni caso esiste stat anche in Win32...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.