다음을 통해 공유


basic_filebuf::close

파일을 닫습니다.

basic_filebuf<Elem, Tr> *close( );

반환 값

파일 포인터를 null 포인터 이면 멤버 함수는 null 포인터를 반환 합니다.

설명

close calls fclose(fp).함수는 0이 아닌 값을 반환 하는 경우 함수는 null 포인터를 반환 합니다.그렇지 않으면, 나타내는 파일이 성공적으로 닫혔습니다.

스트림이 열려 있었기 때문에 모든 삽입 되었을 경우 넓은 스트림 또는 마지막 호출 이후 streampos, 함수 호출 오버플로.또한 파일 변환 패싯을 사용 하 여 초기 변환 상태를 복원 하는 데 필요한 모든 시퀀스 삽입 fac 호출에 fac.unshift 필요에 따라.각 요소 바이트 형식의 char 따라서 생성 관련 파일 포인터가 지정 된 스트림에 쓰여집니다 fp 로가 연속으로 호출할 경우 폼의 fputc(바이트, fp).경우 호출을 fac.unshift 또는 모든 실패 쓰기, 함수가 실패 합니다.

예제

다음 샘플에서는 두 파일이 현재 디렉터리에 있다고 가정 합니다: basic_filebuf_close.txt (내용입니다 "테스트") 및 iotest.txt ("ssss"는 내용).

// 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 Class

iostream 프로그래밍

iostreams 규칙