Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |io‎ |basic fstream

      [edit template]
       
       
       
       
      void swap( basic_fstream& other);
      (since C++11)

      Exchanges the state of the stream with those ofother.

      This is done by callingbasic_iostream<CharT, Traits>::swap(other) andrdbuf()->swap(other.rdbuf()).

      Contents

      [edit]Parameters

      other - stream to exchange the state with

      [edit]Return value

      (none)

      [edit]Exceptions

      May throw implementation-defined exceptions.

      [edit]Example

      Run this code
      #include <fstream>#include <iomanip>#include <iostream>#include <string> bool create_stream(std::fstream& fs,conststd::string& path){try{std::fstream ts{path, ts.trunc| ts.in| ts.out};if(ts.is_open()){            ts.swap(fs);// stream objects are not copyablereturntrue;}}catch(...){std::cout<<"Exception!\n";}returnfalse;} void use_stream(std::fstream& fs){    fs.seekg(0);std::string data;    fs>> data;std::cout<<"data: "<<std::quoted(data)<<'\n';} int main(){std::fstream fs;std::string path="/tmp/test_file.txt";if(create_stream(fs, path)){        fs.write(path.c_str(), path.length());        use_stream(fs);}}

      Possible output:

      data: "/tmp/test_file.txt"

      [edit]See also

      (C++11)
      moves the file stream
      (public member function)[edit]
      (C++11)
      swaps twobasic_filebuf objects
      (public member function ofstd::basic_filebuf<CharT,Traits>)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_fstream/swap&oldid=50835"

      [8]ページ先頭

      ©2009-2025 Movatter.jp