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