Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |io‎ |basic filebuf
       
       
       
       
      std::basic_filebuf<CharT, Traits>* close();

      If a put area exist (e.g. file was opened for writing), first callsoverflow(Traits::eof()) to write all pending output to the file, including any unshift sequences.

      If the most recently called function, out ofunderflow(),overflow(),seekpos(), andseekoff(), wasoverflow(), then callsstd::codecvt::unshift(), perhaps multiple times, to determine the unshift sequence according to the imbued locale, and writes that sequence to file withoverflow(Traits::eof()).

      Then, closes the file as if by callingstd::fclose(), regardless of whether any of the preceding calls succeeded or failed.

      If any of the function calls made, including the call tostd::fclose(), fails, returns a null pointer. If any of the function calls made throws an exception, the exception is caught and rethrown after closing the file. If the file is already closed, returns a null pointer right away.

      In any case, updates the private member variable that is accessed byis_open().

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      this on success, a null pointer on failure.

      [edit]Notes

      close() is typically called through the destructor ofstd::basic_filebuf (which, in turn, is typically called by the destructor ofstd::basic_fstream.

      [edit]Example

      This section is incomplete
      Reason: no example

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 443C++98the file was written usingoverflow(EOF)changed tooverflow(Traits::eof())
      LWG 622C++98it was unclear how to handle the
      exception thrown during closing
      it is rethrown after closing the file

      [edit]See also

      checks if the associated file is open
      (public member function)[edit]
      [virtual]
      destructs abasic_filebuf object and closes the file if it is open
      (virtual public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_filebuf/close&oldid=148743"

      [8]ページ先頭

      ©2009-2025 Movatter.jp