Trouver la fin de stream pour les cin & ifstream?

Je suis moi-même par le biais d'un C++ texte livre que j'ai qu'une remise à niveau pour la programmation en C++. L'un des exemples de problèmes (sans trop entrer dans les détails) me veut définir une fonction qui peut être transmise ifstream ou cin (par exemple istream) comme argument. À partir de là, j'ai à lire le flux. La difficulté est, je ne peux pas trouver un moyen d'avoir cette un fonction de l'utilisation cin et ifstream pour trouver efficacement la fin du flux. À savoir,

while(input_stream.peek() != EOF)

n'est pas d'aller travailler pour cin. J'ai pu retravailler la fonction pour chercher une certaine expression (comme "#Fin de Stream#" ou quelque chose), mais je pense que c'est une mauvaise idée si le flux de fichier je passe a cette phrase exacte.

J'ai pensé à utiliser la fonction de surcharge, mais jusqu'à présent, le livre a mentionné quand il veut de moi. Je suis probablement mettre trop d'effort dans ce un problème pratique, mais j'aime bien le processus créatif et je suis curieux de savoir si il y a une façon de le faire sans surcharge.

OriginalL'auteur user435219 | 2010-08-30