Newsgroup: it.comp.lang.c++
Titolo: funzione per vedere se esiste un file.

salve, volevo sapere se esiste una funzione che restituisce per es
true se il file specificato e' contenuto nella dir dell exe. thx 1k :P

 se il file specificato e' contenuto nella dir dell exe. thx 1k :P
 
beh,apri il file e se lo stream è ok,stai a posto
ifstream i_file(nomefile);
if (i_file)
	// Il file esiste
else
	// Il file non esiste

...

ci avevo pensato anche io, ma pensavo ci fosse un modo piu'
"elegante", a me non serve aprirlo, voglio solo sapere se esiste.

 a me non serve aprirlo, voglio solo sapere se esiste.
Non credo che esista...a meno che non usi le funzioni di basso livello
della tua piattaforma

 ha scritto nel messaggio
news:5313a15.03022...@posting.google.com...


 Funziona anche per le directory
Da notare, però, che tale funzione (almeno a quanto ne so io) non fa
parte del C++ standard, o sbaglio?
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 EMG
ho provato ad usarla ma non va... dov'e' definita? e soprattutto e' std?

 ho provato ad usarla ma non va... dov'e' definita? e soprattutto e' std?
Non č standard, come ha detto Enrico.
Le funzioni standard (C e C++) per l'accesso al filesystem sono limitate
agli strumenti per aprire, leggere, scrivere file (Stream C++ o funzioni
'fopen' e famiglia) e cancellarli (funzione 'remove').
Per qualsiasi esigenza piů "sofisticata", come, ad esempio:
   - attraversare la struttura delle directory
   - consultare/impostare privilegi di accesso o altri attributi
   - locking
   - memory mapping
č necessario ricorrere alle API del SO o a specifiche librerie o framework.
Max

 e soprattutto e' std?
Come ho detto, che io sappia no (lo dice anche la documentazione stessa
del Borland).


Non e' una funziona del namespace std:: ma una funzione STANDARD
IEEE Std 1003.1-2001
Qundi presende in quasi tutti i SO evoluti (Win32 e UNIX sicuramente).
Ciao
Fabio





 true se il file specificato e' contenuto nella dir dell exe. thx 1k :P
Non e' una funziona del namespace std:: ma una funzione STANDARD


 true se il file specificato e' contenuto nella dir dell exe. thx 1k :P




 Qundi presende in quasi tutti i SO evoluti (Win32 e UNIX sicuramente).
Questo può essere importante in molti casi pratici ma è irrilevante se
si sta discutendo sul fatto che una certa funzione sia standard o meno.
L'unica autorità sull'argomento è il documento dell'ISO riguardante la
libreria standard del C++.
EMG
PS. Ma che ti si era incastrata la tastiera? :-)


Allora mettiamola cosi (sperando che tutti siano piu' felici e contenti)
Se si vuole risolvere il problema non esiste una funzione C++ del namespace
std:: ma una funzione C.
Chi non conoscesse il comitato IEEE puo' fare un giro sul loro sito
www.ieee.org
Si occupano di qualcosa come POSIX e qualche altra cosuccia.
Niente di importante :-)
Fabio

 Niente di importante :-)
Di qualsiasi cosa si occupino non fa parte della libreria standard del
C++. Perché ti riesce così difficile accettare questa semplice realtà?
Secondo te quelli dell'ISO hanno solo perso tempo quando hanno
standardizzato C e C++?
EMG



Fabio

 newsgroup dove l'unico riferimento e' l'ISO ?
Esattamente.
