PDA

View Full Version : [C++] Controllare se un file esiste o no


Energy++
30-06-2006, 08:13
Mi chiedevo se esiste qualche funzione per controllare se esiste un file oppure no cioè io devo controllare l'esistenza di un file senza aprire uno stream su di esso.

es.:

io ho questo file: prova.txt
invece di aprire uno stream su di esso e controllare se è stato aperto in questo modo:

fstream infile ("prova.txt", ios::in);
if(!infile.is_open())
cout <<"il file esiste";

non posso controllare senza aprire il file?

Ho cercato un po su internet ma nn ho trovato nulla.


grazie e ciao a tutti.

trallallero
30-06-2006, 08:46
Mi chiedevo se esiste qualche funzione per controllare se esiste un file oppure no cioè io devo controllare l'esistenza di un file senza aprire uno stream su di esso.

es.:

io ho questo file: prova.txt
invece di aprire uno stream su di esso e controllare se è stato aperto in questo modo:

fstream infile ("prova.txt", ios::in);
if(!infile.is_open())
cout <<"il file esiste";

non posso controllare senza aprire il file?

Ho cercato un po su internet ma nn ho trovato nulla.


grazie e ciao a tutti.


#include <unistd.h>

int access(const char *path, int amode);
"path" é il percorso completo del file
setti amode a F_OK
se la funzione torna 0 il file esiste
Ciao :)

EDIT: perché non vuoi usare la is_open ?
se poi usi le stream forse é meglio usarle da subito ;)

Energy++
30-06-2006, 08:59
Grazie funziona :)

non voglio usare la is_open() perche non devo aprire il file successivamente.

se potrebbe interessare ho trovato anche un altro modo:

ifstream check ("prova.txt");
if (!check)
cout <<"il file non esiste";


ciao ciao


p.s. mitico sto forum :p

trallallero
30-06-2006, 09:14
Grazie funziona :)

non voglio usare la is_open() perche non devo aprire il file successivamente.

se potrebbe interessare ho trovato anche un altro modo:

ifstream check ("prova.txt");
if (!check)
cout <<"il file non esiste";


ciao ciao


p.s. mitico sto forum :p
immaginavo ci fosse un metodo negli stream.
Io non li uso quindi non lo sapevo ma se poi
li userai é sicuramente meglio non mischiare piú modi ;)

cionci
30-06-2006, 11:09
Solitamente ci sono metodi alternativi, ma non sono standard e dipendono dal SO utilizzato...