std:: basic_filebuf
|
Défini dans l'en-tête
<fstream>
|
||
|
template
<
class
CharT,
|
||
std::basic_filebuf
est un
std::basic_streambuf
dont la séquence de caractères associée est un fichier. La séquence d'entrée et la séquence de sortie sont toutes deux associées au même fichier, et une position de fichier commune est maintenue pour les deux opérations. Les restrictions de lecture et d'écriture d'une séquence avec
std::basic_filebuf
sont les mêmes que pour les
std::FILE
.
Les fonctions
underflow()
et
overflow()
/
sync()
effectuent les entrées-sorties réelles entre le fichier et les zones de lecture et d'écriture du tampon. Lorsque
CharT
n'est pas
char
, la plupart des implémentations stockent des caractères multi-octets dans le fichier et une facette
std::codecvt
est utilisée pour effectuer la conversion entre caractères larges et multi-octets.
Plusieurs typedefs pour les types de caractères courants sont fournis :
|
Défini dans l'en-tête
<fstream>
|
|
| Type | Définition |
std::filebuf
|
std :: basic_filebuf < char > |
std::wfilebuf
|
std :: basic_filebuf < wchar_t > |
Table des matières |
Types membres
| Type | Définition |
char_type
|
CharT
|
traits_type
|
Traits
; le programme est mal formé si
Traits::char_type
n'est pas
CharT
.
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
qui doit être
std::
fpos
<
Traits
::
state_type
>
|
off_type
|
Traits::off_type
|
native_handle_type
(C++26)
|
type défini par l'implémentation
qui est
TriviallyCopyable
et
semiregular
|
Fonctions membres
Fonctions membres publiques |
|
construit un objet
basic_filebuf
(fonction membre publique) |
|
|
(C++11)
|
assigne un objet
basic_filebuf
(fonction membre publique) |
|
(C++11)
|
échange deux objets
basic_filebuf
(fonction membre publique) |
|
(C++26)
|
retourne le handle défini par l'implémentation sous-jacent
(fonction membre publique) |
|
[virtual]
|
détruit un objet
basic_filebuf
et ferme le fichier s'il est ouvert
(fonction membre publique virtuelle) |
|
vérifie si le fichier associé est ouvert
(fonction membre publique) |
|
|
ouvre un fichier et le configure comme séquence de caractères associée
(fonction membre publique) |
|
|
vide le tampon de zone d'écriture et ferme le fichier associé
(fonction membre publique) |
|
Fonctions membres protégées |
|
|
[virtual]
|
fournit optionnellement le nombre de caractères disponibles en entrée depuis le fichier
(fonction membre protégée virtuelle) |
|
[virtual]
|
lit depuis le fichier associé
(fonction membre protégée virtuelle) |
|
[virtual]
|
lit depuis le fichier associé et avance le pointeur suivant dans la zone de lecture
(fonction membre protégée virtuelle) |
|
[virtual]
|
recule la séquence d'entrée pour récupérer un caractère, sans affecter le fichier associé
(fonction membre protégée virtuelle) |
|
[virtual]
|
écrit des caractères dans le fichier associé depuis la zone d'écriture
(fonction membre protégée virtuelle) |
|
[virtual]
|
fournit un tampon défini par l'utilisateur ou rend ce filebuf non tamponné
(fonction membre protégée virtuelle) |
|
[virtual]
|
repositionne la position dans le fichier, en utilisant l'adressage relatif
(fonction membre protégée virtuelle) |
|
[virtual]
|
repositionne la position dans le fichier, en utilisant l'adressage absolu
(fonction membre protégée virtuelle) |
|
[virtual]
|
écrit des caractères dans le fichier associé depuis la zone d'écriture
(fonction membre protégée virtuelle) |
|
[virtual]
|
change la locale associée
(fonction membre protégée virtuelle) |
Fonctions non membres
|
(C++11)
|
spécialise l'algorithme
std::swap
(modèle de fonction) |
Hérité de std:: basic_streambuf
Types membres
| Type de membre | Définition |
char_type
|
CharT
|
traits_type
|
Traits
; le programme est mal formé si
Traits::char_type
n'est pas
CharT
.
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
Fonctions membres
|
[virtuel]
|
détruit l'objet
basic_streambuf
(fonction membre publique virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
Locales |
|
|
modifie la locale associée et invoque
imbue
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
obtient une copie de la locale associée
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
Positionnement |
|
|
invoque
setbuf
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
invoque
seekoff
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
invoque
seekpos
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
invoque
sync
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
Zone de lecture |
|
|
obtient le nombre de caractères immédiatement disponibles dans la zone de lecture
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
avance la séquence d'entrée, puis lit un caractère sans avancer à nouveau
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
(supprimé en C++17)
|
lit un caractère de la séquence d'entrée et avance la séquence
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
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>
)
|
|
|
invoque
xsgetn
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
Zone d'écriture |
|
|
écrit un caractère dans la zone d'écriture et avance le pointeur suivant
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
invoque
xsputn
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
Remise |
|
|
remet un caractère dans la séquence d'entrée
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
recule le pointeur suivant dans la séquence d'entrée d'une position
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
Fonctions membres protégées
construit un objet
basic_streambuf
(fonction membre protégée) |
|
|
(C++11)
|
remplace un objet
basic_streambuf
(fonction membre protégée) |
|
(C++11)
|
échange deux
basic_streambuf
objects
(fonction membre protégée) |
Locales |
|
|
[virtual]
|
réagit à un changement de la locale associée
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
Positionnement |
|
|
[virtual]
|
remplace le tampon par un tableau défini par l'utilisateur, si autorisé
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
repositionne le pointeur suivant dans la séquence d'entrée, la séquence de sortie, ou les deux, en utilisant l'adressage relatif
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
repositionne le pointeur suivant dans la séquence d'entrée, la séquence de sortie, ou les deux en utilisant l'adressage absolu
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
synchronise les tampons avec la séquence de caractères associée
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
Obtenir la surface |
|
|
[virtual]
|
obtient le nombre de caractères disponibles en entrée dans la séquence d'entrée associée, si connu
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
lit les caractères de la séquence d'entrée associée vers la zone de réception
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
lit les caractères de la séquence d'entrée associée vers la zone de récupération et avance le pointeur suivant
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
lit plusieurs caractères de la séquence d'entrée
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
renvoie un pointeur vers le début, le caractère courant et la fin de la zone de lecture
(fonction membre protégée) |
|
|
avance le pointeur suivant dans la séquence d'entrée
(fonction membre protégée) |
|
|
repositionne les pointeurs de début, suivant et de fin de la séquence d'entrée
(fonction membre protégée) |
|
Zone de placement |
|
|
[virtual]
|
écrit plusieurs caractères dans la séquence de sortie
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
écrit des caractères dans la séquence de sortie associée depuis la zone de mise en mémoire tampon
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
|
retourne un pointeur vers le début, le caractère courant et la fin de la zone de mise
(fonction membre protégée) |
|
|
avance le pointeur suivant de la séquence de sortie
(fonction membre protégée) |
|
|
repositionne les pointeurs de début, suivant et fin de la séquence de sortie
(fonction membre protégée) |
|
Putback |
|
|
[virtual]
|
place un caractère dans la séquence d'entrée, en modifiant potentiellement la séquence d'entrée
(fonction membre protégée virtuelle de
std::basic_streambuf<CharT,Traits>
)
|
Notes
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_fstream_native_handle
|
202306L
|
(C++26) | Prise en charge des handles natifs |
Voir aussi
|
type d'objet, capable de contenir toutes les informations nécessaires pour contrôler un flux d'E/S C
(typedef) |