命名空间
变体
操作

std::basic_filebuf<CharT,Traits>::swap

来自 cppreference.com
< cpp‎ | io‎ | basic filebuf
 
 
 
 
void swap( std::basic_filebuf& rhs );
(自 C++11 起)

交换 *thisrhs 的状态和内容。

内容

[编辑] 参数

rhs - 另一个 basic_filebuf

[编辑] 返回值

(无)

[编辑] 备注

当交换 std::fstream 对象时,此函数会自动调用,很少需要直接调用它。

[编辑] 示例

#include <fstream>
#include <iostream>
#include <string>
 
int main()
{
    std::ifstream fin("test.in"); // read-only
    std::ofstream fout("test.out"); // write-only
 
    std::string s;
    getline(fin, s);
    std::cout << s << '\n'; // outputs the first line of test.in
 
    fin.rdbuf()->swap(*fout.rdbuf()); //swap the underlying buffers
 
    getline(fin, s); // fails: cannot read from a write-only filebuf
    std::cout << s << '\n'; // prints empty line
}

[编辑] 另请参阅

(C++11)
赋值一个 basic_filebuf 对象
(公有成员函数) [编辑]
专门化了 std::swap 算法
(函数模板) [编辑]
(C++11)
交换两个文件流
(std::basic_fstream<CharT,Traits> 的公有成员函数) [编辑]