Поделиться через


basic_filebuf::close

Закрывает файл.

basic_filebuf<Elem, Tr> *close( );

Возвращаемое значение

Функция-член возвращает указатель, если указатель файла указатель.

Заметки

вызовы fcloseзакрыть (fp). Если эта функция возвращает ненулевое значение, то функция возвращает указатель. В противном случае он возвращает значение this, чтобы указать, что файл был успешно закрыт.

Для расширенных потока, если таковые вставки произошли, поскольку поток был открыт, или с момента последней возможности в streampos, вызовы функций переполнение. Он также содержит любая последовательность, необходимых для восстановления начальное состояние преобразования, используя аспект fac преобразования файла для вызова fac.unshift по мере необходимости. Каждый элемент таким образом, созданное byte типа char записывается в поток, обозначенному указателем файла fp, если последующими вызовами формы fputc(byte, fp). Если вызов fac.unshift или все записи завершаются ошибкой, функция не удовлетворяются.

Пример

В следующем примере предполагается 2 файла в текущем каталоге. basic_filebuf_close.txt (содержимое «тест») и содержимое ssss iotest.txt («»).

// basic_filebuf_close.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>

int main() {
   using namespace std;
   ifstream file;
   basic_ifstream <wchar_t> wfile;
   char c;
   // Open and close with a basic_filebuf
   file.rdbuf()->open( "basic_filebuf_close.txt", ios::in );
   file >> c;
   cout << c << endl;
   file.rdbuf( )->close( );

   // Open/close directly
   file.open( "iotest.txt" );
   file >> c;
   cout << c << endl;
   file.close( );

   // open a file with a wide character name
   wfile.open( L"iotest.txt" );

   // Open and close a nonexistent with a basic_filebuf
   file.rdbuf()->open( "ziotest.txt", ios::in );
   cout << file.fail() << endl;
   file.rdbuf( )->close( );

   // Open/close directly
   file.open( "ziotest.txt" );
   cout << file.fail() << endl;
   file.close( );
}
  

Требования

Заголовок:<fstream>

Пространство имен: std

См. также

Ссылки

Класс basic_filebuf

Программирование iostream

Соглашения iostreams