Ich versuche, Eingabe aus einer Datei in C++ zu lesen, und ich muss eine Fehlermeldung ausgeben, wenn keine Eingabe vorliegt.Überprüfen, ob Datei nur Leerzeichen enthält C++
Diese Anweisung funktioniert, wenn die Datei vollständig leer ist:
if (f.peek() == std::ifstream::traits_type::eof()) return error("Empty file");
wo Fehler() ist eine einfache Funktion:
int error(string message){
cerr << "ERROR: " << message << "\n";
return -1;
}
Wie kann ich überprüfen, für Dateien, die nur Leerzeichen enthalten, so kann ich den gleichen Fehler auslösen? Wie 7 Zeilenumbrüche?
Meine sollte normal weiter ausgeführt werden, wenn die Datei nichts als nur Leerzeichen enthält.
Sie haben jedes Zeichen dann zu lesen und zu prüfen. ['std :: isspace()'] (http://en.cppreference.com/w/cpp/string/byte/ispace) kann dabei nützlich sein. – user0042
Wie groß ist die Wahrscheinlichkeit, dass eine Datei nur Leerzeichen enthält? Dies scheint ein XY-Problem zu sein. –
@Neil Wahr, dass. – user0042