std::basic_filebuf<CharT,Traits>::operator=
< cpp | io | basic filebuf
std::basic_filebuf& operator=( std::basic_filebuf&& rhs ); |
(C++11 起) | |
std::basic_filebuf& operator=( const std::basic_filebuf& rhs ) = delete; |
||
赋值另一 basic_filebuf
对象。
1) 首先调用 close() 关闭关联文件,然后移动
rhs
的内容到 *this
中:获取与放置缓冲区、本地环境、打开模式、打开标志及任何其他状态。移动后, rhs
不与文件关联且 rhs.is_open() == false 。参数
rhs | - | 将被移动的另一 basic_filebuf
|
返回值
*this
示例
运行此代码
#include <fstream> #include <string> #include <iostream> int main() { std::ifstream fin("test.in"); // 只读 std::ofstream fout("test.out"); // 只写 std::string s; getline(fin, s); std::cout << s << '\n'; // 输出 *fin.rdbuf() = std::move(*fout.rdbuf()); getline(fin, s); std::cout << s << '\n'; // 空行 std::cout << std::boolalpha << fout.is_open() << '\n'; // 打印 "false" }
参阅
构造 basic_filebuf 对象 (公开成员函数) | |
(C++11) |
交换二个 basic_filebuf 对象 (公开成员函数) |