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