# 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 。
2) 复制赋值运算符被删除； `basic_filebuf` 不可复制赋值 (CopyAssignable) 。

### 参数

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 对象 (公开成员函数)
swap (C++11) | 交换二个 basic_filebuf 对象 (公开成员函数)