std::basic_filebuf<CharT,Traits>:: close
|
std::
basic_filebuf
<
CharT, Traits
>
*
fermer
(
)
;
|
||
Si une zone de sortie existe (par exemple, le fichier a été ouvert en écriture), appelle d'abord overflow ( Traits :: eof ( ) ) pour écrire toute la sortie en attente dans le fichier, y compris les séquences de décalage.
Si la fonction la plus récemment appelée, parmi
underflow()
,
overflow()
,
seekpos()
, et
seekoff()
, était
overflow()
, alors elle appelle
std::codecvt::unshift()
, peut-être plusieurs fois, pour déterminer la séquence de décalage selon les paramètres régionaux imbriqués, et écrit cette séquence dans le fichier avec
overflow
(
Traits
::
eof
(
)
)
.
Puis, ferme le fichier comme si en appelant std::fclose() , indépendamment du succès ou de l'échec des appels précédents.
Si l'un des appels de fonction effectués, y compris l'appel à std::fclose() , échoue, retourne un pointeur nul. Si l'un des appels de fonction effectués lance une exception, l'exception est capturée et relancée après la fermeture du fichier. Si le fichier est déjà fermé, retourne immédiatement un pointeur nul.
Dans tous les cas, met à jour la variable membre privée qui est accédée par is_open() .
Table des matières |
Paramètres
(aucun)
Valeur de retour
this en cas de succès, un pointeur nul en cas d'échec.
Notes
close()
est généralement appelé via le destructeur de
std::basic_filebuf
(qui, à son tour, est généralement appelé par le destructeur de
std::basic_fstream
).
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 443 | C++98 | le fichier était écrit en utilisant overflow ( EOF ) | modifié en overflow ( Traits :: eof ( ) ) |
| LWG 622 | C++98 |
il n'était pas clair comment gérer
l'exception levée pendant la fermeture |
elle est relancée après la fermeture du fichier |
Voir aussi
|
vérifie si le fichier associé est ouvert
(fonction membre publique) |
|
|
[virtual]
|
détruit un objet
basic_filebuf
et ferme le fichier s'il est ouvert
(fonction membre publique virtuelle) |