std::basic_filebuf<CharT,Traits>:: operator=
From cppreference.net
<
cpp
|
io
|
basic filebuf
|
std::
basic_filebuf
&
operator
=
(
std::
basic_filebuf
&&
rhs
)
;
|
(1) | (depuis C++11) |
|
std::
basic_filebuf
&
operator
=
(
const
std::
basic_filebuf
&
rhs
)
=
delete
;
|
(2) | |
Assigne un autre objet
basic_filebuf
.
1)
Appelle d'abord
close()
pour fermer le fichier associé, puis déplace le contenu de
rhs
dans
*
this
: les tampons de put et get, le fichier associé, la locale, le mode d'ouverture, le drapeau is_open, et tout autre état. Après le déplacement,
rhs
n'est plus associé à un fichier et
rhs.
is_open
(
)
==
false
.
Table des matières |
Paramètres
| rhs | - |
un autre
basic_filebuf
qui sera déplacé
|
Valeur de retour
* this
Exemple
Exécuter ce code
#include <cassert> #include <fstream> #include <iostream> #include <string> int main() { std::ofstream{"test.in"} << "test\n"; // écrit via un objet temporaire std::ifstream fin("test.in"); // flux en lecture seule std::ofstream fout("test.out"); // flux en écriture seule std::string s; std::getline(fin, s); std::cout << "s = [" << s << "]\n"; // s contient "test" assert(fout.is_open()); *fin.rdbuf() = std::move(*fout.rdbuf()); assert(!fout.is_open()); std::getline(fin, s); std::cout << "s = [" << s << "]\n"; // s est une entrée vide }
Sortie :
s = [test] s = []
Voir aussi
construit un objet
basic_filebuf
(fonction membre publique) |
|
|
(C++11)
|
échange deux objets
basic_filebuf
(fonction membre publique) |