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


Anmelden zum Antworten