Lecture non formatée

Une lecture non formatée est possible dans un flot d’entrée, via les méthodes istream& get(char&) et sa variante int get(void) pour un caractère unique. Pour une série de caractères, on utilisera l’une des méthodes suivantes :

istream& get(char*, int max, char =  '\n');istream& read(char*, int max);istream& getline(char*, int max, char = '\n');

Toutes ces méthodes existent en fait en deux versions, pour signed char et unsigned char. La fonction get à trois arguments lit une série de caractères et les place dans un tableau ; elle s’arrête soit quand le nombre maximal indiqué est dépassé, soit quand le caractère final (de valeur par défaut '\n') est rencontré (ou encore si elle arrive en fin de fichier). Un caractère nul final est ajouté. La fonction getline a le même effet sans troisième argument ; avec un troisième argument différent de '\n', elle s’arrête lorsqu’elle rencontre le caractère final précisé ou la fin de la ligne '\n'. Enfin la fonction read lit un bloc de caractères de longueur indiquée sans aucun formatage.

Il existe aussi une fonction membre istream& get(streambuf&, char = '\n') qui prend ses données dans un autre tampon.

Précédent Précédent Sommaire Sommaire Suivant Suivant