CFile (LPCTSTRlpszFileName,UINTnOpenFlags); 던져 (CFileException);
매개 변수
hFile
이미 열려 있는 파일의 핸들。
lpszFileName
문자열 원하는 파일의 경로입니다. 상대 또는 절대 경로가 될 수 있습니다.
nOpenFlags
공유 및 액세스 모드입니다. 파일을 열 때 수행할 작업을을 지정 합니다. 비트 OR (|) 연산자를 사용 하 여 아래 나열 된 옵션을 결합할 수 있습니다. 하나의 액세스 권한 및 하나의 공유 옵션은 필요한; modeCreate 및 modeNoInherit 모드는 선택 사항입니다. 값은 다음과 같습니다.:
CFile::modeCreatenbsp;??새 파일을 만드는 생성자를 지시 합니다. 파일이 이미 있으면 0 길이 정수가(&N)。
CFile::modeNoTruncatenbsp;ModeCreate와 함께이 값을 결합 합니다. 이미 생성 되 고 파일이 있으면 0 길이 잘리지 않습니다. 따라서 파일을 새로 만든된 파일이 나 기존 파일을 열려면 보장 됩니다. 이 이미 존재 하지 수 있는 설정 파일을 열 때 예를 들어, 유용할 수도 있습니다. 이 옵션으로 잘 CStdioFile 에 적용 됩니다(&N).
CFile::modeReadnbsp;??만 읽기를 위한 파일을 엽니다(&N).
CFile::modeReadWritenbsp;??읽고 쓰기 위한 파일을 엽니다(&N).
CFile::modeWritenbsp;??만 쓰기 위한 파일을 엽니다(&N).
CFile::modeNoInheritnbsp;??상속 하는 자식 프로세스에서 파일을 방지(&N)。
CFile::shareDenyNonenbsp;??다른 프로세스가 읽기 또는 파일에 대 한 쓰기 액세스를 거부 하지 않고 파일을 엽니다. 파일이 다른 프로세스에 의해 호환 모드에서 열렸습니다 만들기 실패(&N)。
CFile::shareDenyReadnbsp;??파일을 열고 파일에 다른 프로세스가 읽기 액세스를 거부 합니다. 파일이 열렸습니다 호환 모드에서 또는 읽기 액세스에 대 한 다른 프로세스에 의해 만들기 실패(&N)。
CFile::shareDenyWritenbsp;??파일을 열고 파일에 다른 프로세스가 쓰기 액세스를 거부 합니다. 파일이 열렸습니다 호환 모드에서 또는 쓰기 액세스에 대 한 다른 프로세스에 의해 만들기 실패(&N)。
CFile::shareExclusivenbsp;??다른 프로세스 모두 읽기 및 파일에 쓰기 액세스를 거부 하는 단독 모드로 파일을 엽니다. 파일이 열렸습니다 다른 모드에서 읽기 또는 쓰기 액세스에 대 한 현재 프로세스에 의해 건설 실패(&N)。
CFile::shareCompatnbsp;??이 플래그는 32 비트 MFC에서에서 사용할 수 없습니다. 이 플래그는 CFile::shareExclusiveCFile::Open 에서 사용 하는 경우에 지도(&N)。
CFile::typeTextnbsp;??캐리지 return?linefeed 쌍 (파생된 클래스 에서만 사용)에 대 한 특별 한 처리 텍스트 모드 설정(&N)。
CFile::typeBinarynbsp;??(파생된 클래스 에서만 사용) 하는 바이너리 모드 설정(&N)。
주의
기본 생성자 파일 열리지 않습니다 하지만 오히려 CFile::hFileNull에 m_hFile 을 설정 합니다. 이 생성자는 예외를 throw 하지 않습니다, 때문에 그것은 시도사용 하 여 만들지 않는다 /CATCH 논리. Open 멤버 함수를 사용 하 여 다음 예외 조건을 직접 테스트 합니다. 예외 처리 전략의 토론에 대 한 문서를 참조 하십시오. Visual c + + 프로그래머 가이드 에서 예외。
한 인수 생성자 hFile로 식별 되는 기존 운영 체제 파일에 해당 하는 CFile 개체를 만듭니다. 없음 확인 액세스 모드 또는 파일 형식을 이루어집니다. CFile 개체를 소멸 하는 경우에 운영 체제 파일 중지 되지 않습니다. 당신은 파일을 닫아야 자신。
두 개의 인수가 있는 생성자 CFile 개체를 만들고 지정 된 경로 함께 해당 하는 운영 체제 파일을 엽니다. 이 생성자는 첫 번째 생성자 함수와 Open 멤버 함수를 결합합니다. 파일을 여는 동안 오류가 발생 하는 경우 예외를 throw 합니다. 일반적으로이 오류는 복구할 수 없습니다 및 사용자를 경고 한다 의미。
예제
Cfile::cfile에 대 한 //example
char * pFileName = "test.dat";
시도
{
CFile f (pFileName, CFile::modeCreate (ko) | CFile::modeWrite);
}
CATCH (CFileException, e)
{
# ifdef _DEBUG
afxDump lt; < "파일을 열 수 없습니다." << e-> m_cause << "\n";
# endif
}
END_CATCH