/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
test på file exists
Fra : Morten Nørgaard


Dato : 26-04-01 07:15

Hej,

jeg bruger noget i retning af

fstream filen;
filen.open("testfil", ios::binary | ios::in | ios::out);

Hvis filen ikke eksisterer, bliver den oprettet. Men -- hvordan kan jeg selv
checke at den ikke eksisterer, så jeg har
mulighed for at gå en anden vej.

(kan man mon bruge O_Create flaget til noget?)

Tak for svar,


Morten.




 
 
Igor V. Rafienko (26-04-2001)
Kommentar
Fra : Igor V. Rafienko


Dato : 26-04-01 16:13

* Morten Nørgaard

[snip]

> fstream filen;
> filen.open("testfil", ios::binary | ios::in | ios::out);
>
> Hvis filen ikke eksisterer, bliver den oprettet. Men -- hvordan kan jeg selv
> checke at den ikke eksisterer, så jeg har
> mulighed for at gå en anden vej.


Det eneste du kan gjøre er å prøve å åpne den, sjekke "stream state"
og opptre deretter. Det finnes ingen portabel måte å sjekke eksistens
av en fil (access() kan brukes på *nix-systemer, noe tilsvarende
finnes sikkert på windows og mac).





ivr
--
The only "intuitive" interface is the nipple. After that, it's all learned.
(Bruce Ediger, bediger@teal.csn.org, in comp.os.linux.misc, on X interfaces.)

Richard Flamsholt (26-04-2001)
Kommentar
Fra : Richard Flamsholt


Dato : 26-04-01 23:07

"Morten Nørgaard" <martinnorgard@mail.tele.dk> skrev:
>hvordan kan jeg selv checke at den ikke eksisterer

En god og portabel (men ikke skudsikker) måde i C er:

   FILE *fp;
   if ((fp=fopen(filename, "r")) != NULL) {
    fclose(fp);
    /* filen findes */
   } else {
    /* filen findes ikke */
   }

Med "ikke skudsikker" menes, at filen fx godt kan eksisterer uden at
kunne åbnes; fx hvis den aktuelle bruger ikke har rettigheder til at
åbne den. Der findes ingen helt sikre metoder til at teste, om en fil
eksisterer.

Så skudsikker, nej - men noget nær den bedste løsning, ja.

--
Richard Flamsholt
richard@flamsholt.dk - www.richard.flamsholt.dk

Carsten Svaneborg (26-04-2001)
Kommentar
Fra : Carsten Svaneborg


Dato : 26-04-01 20:49

"Morten Nørgaard" wrote:
> Men -- hvordan kan jeg selv checke at den ikke eksisterer,
> så jeg har mulighed for at gå en anden vej.

Med stat() kan spørge om filer findes.

--
* Kurosawa: http://www.designlabs.dk/husetsbio *
* Email: Carsten dot Svaneborg at risoe dot dk *
* http://www.fys.risoe.dk/fys/External/casv/ *


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste