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