Forum: PC-Programmierung Unterschied zwischen "Datei nicht vorhanden" und "Datei vorhanden, aber nicht zugreifbar" feststelle


von Klaus (Gast)


Lesenswert?

Hallo!

Ich bräuchte in meinem Programm die Info, ob eine bestimmte Datei 
vorhanden ist. Die gängigen Methoden sind ja, zu versuchen, die Datei zu 
öffnen, wenn das fehlschlägt ist sie nicht vorhanden.  Nun kommt es aber 
vor dass die Datei zwar vorhanden, aber gerade von einem anderen 
Programm geöffnet ist. Das führt dann dazu, dass die Datei auch nicht 
geöffnet werden kann, und damit die Fehl-Info kommt, dass diese Datei 
nicht existiert. Wie kann ich zwischen den beiden Fällen unterscheiden?

Ich programmiere unter C++ auf Windows.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Klaus schrieb:
> Die gängigen Methoden sind ja, zu versuchen, die Datei zu
> öffnen, wenn das fehlschlägt ist sie nicht vorhanden
Halte ich für äußert gewagt... besser stat verwenden.

Klaus schrieb:
> Ich programmiere unter C++ auf Windows.

http://www.techbytes.ca/techbyte103.html

>> lookup the
>> return values of stat which will give you
>> more details on why stat failed.

von raketenfred (Gast)


Lesenswert?


von bluppdidupp (Gast)


Lesenswert?

via winapi:
FindFirstFile() oder GetFileAttributes() oder aufrufen um zu testen ob 
die Datei existiert ;D

von Peter II (Gast)


Lesenswert?


von Race (Gast)


Lesenswert?

Was passiert wenn sich zwischen dem Test und dem Öffnen die Datei ändert 
?

von Michael (Gast)


Lesenswert?

Race schrieb:
> Was passiert wenn sich zwischen dem Test und dem Öffnen die Datei ändert
> ?

Dann war wohl ein Anderer schneller als Du oder zwischen Test und Öffnen 
liegt zu viel Zeit ;-)

von Jens G. (jensig)


Lesenswert?

>öffnen, wenn das fehlschlägt ist sie nicht vorhanden.  Nun kommt es aber
>vor dass die Datei zwar vorhanden, aber gerade von einem anderen
>Programm geöffnet ist. Das führt dann dazu, dass die Datei auch nicht
>geöffnet werden kann, und damit die Fehl-Info kommt, dass diese Datei
>nicht existiert. Wie kann ich zwischen den beiden Fällen unterscheiden?

Sollte das nicht einen Filesharing Error "returnen"?

von Klaus (Gast)


Lesenswert?

Jens G. schrieb:
> Sollte das nicht einen Filesharing Error "returnen"?

du redest in wirren Worten...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.