Datenträger testen
-
Hallo,
ich habe im Moment ein Logikproblem.
Ich erstelle gerade ein Programm, welches prüft, ob alle Wechseldatenträger vorhanden sind.
Das klapt bereits.
Nun will ich auch noch folgende Dinge testen:
- Kann auf den Datenträger in Laufwerk X: zugegriffen werden?
- Kann auf den Datenträger in Laufwerk X: fehlerfrei geschrieben werden?Frage:
Wie stelle ich das an? Ich muss ja z.B. eine Datei auf Laufwerk X: erstellen (am besten denke ich eine Binärdatei) und dann testen, ob die Daten alle einwandfrei geschrieben wurden.Bin für jeden Rat dankbar.
mfg
trequ
-
Frage:
Wie stelle ich das an?Du musst z.B. eine Datei auf Laufwerk X: erstellen (am besten denke ich eine Binärdatei) und dann testen, ob die Daten alle einwandfrei geschrieben wurden.

-
@ CMatt

du versucht einfach eine Datei zu erstellen und wertest den Returnwert aus. Hat es geklappt, kannst du darauf schreiben, wenn nicht dann eher nicht
FILE *fp; fp = fopen ("test", "w"); if (fp == NULL) { // konnte nicht schreiben } else { // alles wunderbar }
-
Hallo,
schon klar, so mache ich das bereits.
Aber wenn ich z.B. 10 MB auf einen USB Stick schreibe und dabei den Stick rausziehe wird ja ein Fehler erzeugt.
Das muss man ja feststellen können, ob die Daten auch angekommen sind...
Windows liefert nach Ewigkeiten eine Meldung "Es konnten nicht alle Daten für HARDDISK//BLA//BLA_BLA/ geschrieben werden. Datenverlust ist nicht auszuschließen..."
Das kann man doch bestimmt abfangen?
Leider habe ich auch keinen Schimmer, wie GetLastError funktioniert...
mfg
trequ
-
GetLastError() steht doch in der MSDN
Schau dir FormatMessage() an, da steht ganz unten ein Beispiel, das man einfach verwenden kann.Bei deinem Problem kann ich dir dann auch nicht helfen, sorry