Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::swap(std::basic_fstream)

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

      [edit template]
       
       
       
       
      template<class CharT,class Traits>
      void swap( basic_fstream<CharT, Traits>& lhs, basic_fstream<CharT, Traits>& rhs);

      Specializes thestd::swap algorithm forstd::basic_fstream. Exchanges the state oflhs with that ofrhs. Effectively callslhs.swap(rhs).

      Contents

      [edit]Parameters

      lhs, rhs - streams whose state to swap

      [edit]Return value

      (none)

      [edit]Exceptions

      May throw implementation-defined exceptions.

      [edit]Example

      Run this code
      #include <fstream>#include <iostream>#include <string> bool create_stream(std::fstream& fs){try{std::string some_name="/tmp/test_file.txt";std::ios_base::openmode some_flags= fs.trunc;// | other flags if(std::fstream ts{some_name, some_flags}; ts.is_open()){std::swap(ts, fs);// stream objects are not copyable => swapreturntrue;}}catch(...){std::cout<<"Exception!\n";}returnfalse;} int main(){if(std::fstream fs; create_stream(fs)){// use fs stream}}

      [edit]See also

      (C++11)
      swaps two file streams
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_fstream/swap2&oldid=96193"

      [8]ページ先頭

      ©2009-2025 Movatter.jp