Ich laufe mich selbst durch ein C++ - Lehrbuch, das ich als Auffrischung der C++ - Programmierung habe. Eines der Übungsprobleme (ohne zu sehr ins Detail zu gehen) möchte, dass ich eine Funktion definiere, die istream oder cin (z. B. istream) als Argument übergeben kann. Von dort muss ich den Stream durchlesen. Problem ist, kann ich nicht einen Weg finden, diese eine Funktion verwenden cin und ifstream, um effektiv das Ende des Streams zu finden. NämlichFinden Sie das Ende des Streams für Cin & Ifstream?
while(input_stream.peek() != EOF)
wird nicht für cin arbeiten. Ich könnte die Funktion überarbeiten, um nach einer bestimmten Phrase zu suchen (wie "#End of Stream #" oder etwas), aber ich denke, das ist eine schlechte Idee, wenn der Dateistream, den ich passiere, genau diese Phrase hat.
Ich habe gedacht, Funktion Überladung zu verwenden, aber bisher hat das Buch erwähnt, wenn es mich dies tun soll. Ich werde wahrscheinlich zu viel Aufwand in dieses eine Übungs-Problem investieren, aber ich genieße den kreativen Prozess und bin neugierig, ob es so einen Weg gibt, dies ohne Überlastung zu tun.
prüft diese Frage: http://stackoverflow.com/questions/3197025/end-of-fileeof-of-standard-input -stream-stdin – Archie