Rembobiner un ifstream objet après avoir atteint la fin du fichier

Avoir un fichier texte avec quelques caractères (disons 10), vous pouvez essayer de lire 1000 caractères.

char *buf = new char[1000];
ifstream in("in.txt");
in.read(buf, 1000);

Cela, bien sûr, sera de définir la eofbit drapeau (et le failbit n' trop), cependant, vous serez en mesure d'obtenir les caractères désirés.

Maintenant, supposons que vous souhaitez lire le fichier à nouveau (depuis le début):

in.seekg(0);        //Sets input position indicator. 
in.read(buf, 100);  //Try to read again.

Cela ne fonctionne pas, si vous appelez

int count = in.gcount()  //Charecters readed from input.

vous remarquerez que count == 0. Le sens qu'il n'ai pas lus rien du tout.

D'où la question: Comment pouvez-vous rewing le fichier après l'avoir frappé à la fin du fichier?

OriginalL'auteur Raydel Miranda | 2015-02-04