std::basic_filebuf<CharT,Traits>:: underflow
|
protected
:
virtual int_type underflow ( ) |
||
Lit plus de données dans la zone d'entrée.
Se comporte comme la classe de base std :: basic_streambuf :: underflow , sauf que pour lire les données de la séquence de caractères associée (le fichier) dans la zone de récupération, il lit d'abord les octets du fichier dans un tampon temporaire (alloué aussi grand que nécessaire), puis utilise std :: codecvt :: in de la locale imbriquée pour convertir la représentation externe (généralement multi-octets) en la forme interne qui est ensuite utilisée pour remplir la zone de récupération. La conversion peut être ignorée si std :: codecvt :: always_noconv de la locale renvoie true .
Table des matières |
Paramètres
(aucun)
Valeur de retour
Traits :: to_int_type ( * gptr ( ) ) (le premier caractère de la séquence en attente) en cas de succès, ou Traits :: eof ( ) en cas d'échec.
Exemple
#include <fstream> #include <iostream> struct mybuf : std::filebuf { int underflow() { std::cout << "Before underflow(): size of the get area is " << egptr()-eback() << " with " << egptr()-gptr() << " read positions available\n"; int rc = std::filebuf::underflow(); std::cout << "underflow() returns " << rc << ".\nAfter the call, " << "size of the get area is " << egptr()-eback() << " with " << egptr()-gptr() << " read positions available\n"; return rc; } }; int main() { mybuf buf; buf.open("test.txt", std::ios_base::in); std::istream stream(&buf); while (stream.get()) ; }
Sortie possible :
Before underflow(): size of the get area is 0 with 0 read positions available underflow() returns 73. After the call, size of the get area is 110 with 110 read positions available Before underflow(): size of the get area is 110 with 0 read positions available underflow() returns -1. After the call, size of the get area is 0 with 0 read positions available
Voir aussi
|
[virtual]
|
lit les caractères de la séquence d'entrée associée vers la zone de récupération
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
retourne le prochain caractère disponible dans la séquence d'entrée
(fonction membre protégée virtuelle de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
lit un caractère de la séquence d'entrée sans avancer le pointeur suivant
(fonction membre protégée virtuelle de
std::strstreambuf
)
|
|
[virtual]
|
lit depuis le fichier associé et avance le pointeur suivant dans la zone de récupération
(fonction membre protégée virtuelle) |
|
[virtual]
|
écrit des caractères vers le fichier associé depuis la zone d'écriture
(fonction membre protégée virtuelle) |
|
lit un caractère de la séquence d'entrée sans avancer la séquence
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|