Ich habe eine Anwendung, die mehrere Dateien je nach der spezifischen Konfiguration schreibt. Manchmal benutzen wir den normalen Standard: ostream, manchmal schreiben wir mit opencv oder mit boost.Gibt es eine allgemeine Möglichkeit, Datei Schreibfehler mit C++ zu erkennen?
Für std: ostream rdstate() -Funktion. Meiner Meinung nach wäre die beste Lösung, wenn ich eine allgemeine Methode (z. B. von der OS) verwenden könnte, die für jeden Mechanismus funktioniert. Gibt es so etwas?
Wenn nicht, kann mich jemand auf die Dokumentation über Schecks ähnlich wie rdstate() verweisen? Dank
Update:
Ich schreibe die Dateien mit den Funktionen:
OpenCV: cv::VideoWriter << image
boost: boost::iostreams::file_sink->write
ich einen Weg, um die geschriebenen Daten für den bosst Fall zu überprüfen gefunden. Die write
Funktion gibt die Anzahl der geschriebenen Bytes zurück, und ich kann dies mit den erwarteten Bytes vergleichen. Für den openCV-Fall habe ich GetFileAttributesEx
die Dateigröße bestimmen und prüfen, ob das erhöht. Ist das ein guter Weg?
Suchen Sie eine Methode, die auf allen Betriebssystemen funktioniert? – Ian
Nein, ich brauche nur Windows – Valerie
Eine allgemeine Möglichkeit zur Überprüfung auf Fehler besteht darin, GetLastError() aufzurufen. – Ian