prüfen ob platte voll ist
-
ich nutze fopen um eine datei zu öffnen.
ich würde aber auch gern wissen warum es nicht geklappt hat.
z.b. weil die platte voll ist.wie kann ich das prüfen?
-
Mit C++-Mitteln dürfte das etwas schwierig sein - aber schau mal bei der API deines Betriebssystems nach, ob du etwas detailliertere Informationen zu deiner Festplatte rauskitzeln kannst.
-
perror
strerror
errnosind meines Wissens in ANSI-C enthalten (stdio.h), also auch im C++-Standard. Das geht dann ungefähr so:
fopen ... if (fehler aufgetreten) { perror("fopen"); // Ausgabe in etwa: "fopen: No space left on device" }perror bekommt seine Fehlertexte über strerror(errno), was man bei Bedarf auch selbst auswerten kann.
errno ist eine globale Variable, in der die Fehlernummer der letzten fehlerhaften Operation steht.
-
Allerdings ist afaik nicht garantiert, daß fopen() im Fehlerfall errno setzt (ANSI Standard sind nur ERANGE und EDOM als Werte).
-
es heißt:
wo ich bin herrscht chaos