다음을 통해 공유


CFile::CFile

생성 및 초기화는 CFile 개체입니다.

CFile( );
CFile(
   CAtlTransactionManager* pTM
);
CFile(
   HANDLE hFile 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags,
   CAtlTransactionManager* pTM
);

매개 변수

  • hFile
    첨부 파일의 핸들은 CFile 개체입니다.

  • lpszFileName
    첨부 파일의 상대 경로나 전체 경로 CFile 개체입니다.

  • nOpenFlags
    지정 된 파일에 대 한 파일 액세스 옵션의 비트 조합 (OR).가능한 옵션에 대 한 설명 부분을 참조 하십시오.

  • pTM
    CAtlTransactionManager 개체에 대 한 포인터

설명

가능한 옵션에 대해 다음 표에 나열 된 nOpenFlags 매개 변수.

파일 액세스 모드에서 다음 옵션 중 하나만 선택 합니다.기본 파일 액세스 모드 CFile::modeRead만 읽을 수 있습니다.

설명

CFile::modeRead

요청 읽기 액세스 전용

CFile::modeWrite

요청 쓰기만 합니다.

CFile::modeReadWrite

요청 읽기 및 쓰기 액세스 합니다.

다음 문자 모드 옵션 중 하나를 선택 합니다.

설명

CFile::typeBinary

이진 모드 (파생된 클래스 에서만 사용)으로 설정 합니다.

CFile::typeText

텍스트 모드 (파생된 클래스 에서만 사용) 캐리지 – 줄 바꿈 쌍에 대 한 특수 처리를 설정 합니다.

CFile::typeUnicode

유니코드 모드 (파생된 클래스 에서만 사용)으로 설정 합니다.유니코드 구성에서 응용 프로그램을 작성할 때 텍스트 파일을 유니코드 형식에서으로 기록 됩니다.BOM 파일에 기록 됩니다.

파일 공유 모드에서 다음 옵션 중 하나만 선택 합니다.기본 파일 공유 모드입니다 CFile::shareExclusive에서 제외 됩니다.

설명

CFile::shareDenyNone

공유 제한 사항이 없습니다.

CFile::shareDenyRead

다른 모든 사용자에 게 읽기 액세스를 거부합니다.

CFile::shareDenyWrite

다른 모든 사용자에 게 쓰기 액세스를 거부합니다.

CFile::shareExclusive

읽기 및 쓰기 액세스를 모두 거부합니다.

첫 번째, 또는 둘 모두 다음 파일 생성 모드 옵션을 선택 합니다.기본 작성 모드 CFile::modeNoTruncate, 기존 발행물입니다.

설명

CFile::modeCreate

파일이 없는 경우 새 파일을 만듭니다. 파일이 이미 있는 경우, 그렇지 않으면 연결 되어 있는 CFile 개체와 0 길이로 잘립니다.

CFile::modeNoTruncate

파일이 없는 경우 새 파일을 만듭니다. 파일이 이미 있는 경우, 그렇지 않으면 연결 되어 있는 CFile 개체입니다.

캐싱 옵션 설명에 따라 다음 파일을 선택 합니다.기본적으로 캐싱 구성표 옵션으로 사용할 수 있는 범용 시스템을 사용 합니다.

설명

CFile::osNoBuffer

시스템에서 중간 캐시 파일을 사용 하지 않습니다.이 옵션 다음 2 옵션을 취소합니다.

CFile::osRandomAccess

파일 캐시에 대 한 임의 액세스에 최적화 되어 있습니다.순차 검색 옵션과이 옵션을 사용 하지 않습니다.

CFile::osSequentialScan

파일 캐시에 대 한 순차 액세스에 최적화 되어 있습니다.이 옵션 및 임의 액세스 옵션을 사용 하지 않습니다.

CFile::osWriteThrough

쓰기 작업 지연 없이 수행 됩니다.

파일 핸들이 상속 되지 않도록 하려면 다음 보안 옵션을 선택 합니다.기본적으로 모든 새 자식 프로세스가 파일 핸들을 사용할 수 있습니다.

설명

CFile::modeNoInherit

모든 자식 프로세스 파일 핸들을 사용 하지 못하도록 합니다.

기본 생성자는 멤버를 초기화 하지만 파일을 첨부 하지 않습니다는 CFile 개체입니다.이 생성자를 사용 하면 사용 하는 CFile::Open 메서드는 파일을 열고 그의 CFile 개체.

생성자 매개 변수를 멤버를 초기화 하 고 기존 파일에 첨부 된 CFile 개체입니다.

두 매개 변수를 가진 생성자 멤버를 초기화 하 고 지정 된 파일을 열려고 시도.이 생성자는 지정한 파일에 성공적으로 열리면 파일에 연결 된 CFile 개체입니다. 그렇지 않으면이 생성자에 대 한 포인터를 throw 한 CInvalidArgException 개체입니다.예외를 처리 하는 방법에 대 한 자세한 내용은 예외.

경우는 CFile 개체 성공적으로 지정 된 파일을 열면이이 파일이 자동으로 닫을 때 합니다의 CFile 개체는 소멸 됩니다. 더 이상 연결 된 후 그렇지 않으면 명시적으로 파일을 닫아야 합니다의 CFile 개체입니다.

예제

모든 세 생성자에 다음 코드를 보여 줍니다.

HANDLE hFile = CreateFile(_T("CFile_File.dat"),
   GENERIC_WRITE, FILE_SHARE_READ,
   NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

if (hFile == INVALID_HANDLE_VALUE)
{
   AfxMessageBox(_T("Couldn't create the file!"));
}
else
{
   // Attach a CFile object to the handle we have.
   CFile myFile(hFile);

   static const TCHAR sz[] = _T("I love CFile!");

   // write string
   myFile.Write(sz, sizeof(sz));

   // We can call Close() explicitly, but the destructor would have
   // also closed the file for us. Note that there's no need to
   // call the CloseHandle() on the handle returned by the API because
   // MFC will close it for us.
   myFile.Close();

요구 사항

헤더: afx.h

참고 항목

참조

CFile 클래스

계층 구조 차트