이 문서에서는 MFC 대화 상자 기반 응용 프로그램과 함께 CreateFile 및 OpenFile win32 API 함수를 사용하는 예제를 살펴보겠습니다. Win32는 수많은 함수를 제공하는 풍부한 API이며 MFC는 논리적 기능 단위를 형성하기 위해 이러한 함수에 래핑된 프레임워크일 뿐입니다. Win32 API 라이브러리는 C 스타일(절차 적 접근 방식)에 있는 반면 MFC는 OOPS 기반 프레임워크 API인 기본 형식입니다. 좋아, 샘플로 시작하자. 파일에는 이진 형식의 값이 있으며 각 값은 float 즉 4바이트로 저장됩니다. 파일의 처음 4바이트는 저장된 총 값 수에 불과한 헤더를 지정합니다. 예를 들어, N개의 프레임 수가 있고 각 프레임이 M(일반적으로 13) 차원 벡터로 표현된다고 가정해 보겠습니다. 따라서 기본적으로 피처 행렬의 총 고유 값 수인 헤더는 N*M. int32로 저장된다는 점에 유의하십시오.

특징 벡터는 열 번호 또는 프레임 번호에 따라 저장됩니다. 따라서 첫 번째 프레임(총 M 값)이 먼저 저장되고 두 번째 프레임이 저장됩니다. 차원은 파일에 저장되지 않고 가정됩니다. 따라서 차원 불일치가 발생하면 나쁜 일이 발생할 수 있습니다. m_hFile은 UINT 형식의 공용 변수입니다. 핸들이 할당되지 않은 경우 운영 체제 독립적 인 빈 파일 표시기인 CFile::hFileNull이 포함되어 있습니다. CFile은 MFC에서 파일을 처리하는 데 사용되는 클래스입니다. 이 클래스는 파일을 생성, 읽기, 쓰기 및 수정하는 데 사용할 수 있습니다. 버퍼링되지 않은 이진 디스크 입력/출력 서비스를 직접 제공하며 파생 클래스를 통해 텍스트 파일 및 메모리 파일을 간접적으로 지원합니다.

CFile – 파일 만들기: 파일을 만드는 방법에는 두 가지가 있습니다. 한 가지 방법은 파일 경로를 사용하여 CFile 개체를 인스턴스화하는 것입니다. 이렇게 하면 파일이 만들어집니다. 두 번째 방법은 Open 함수를 호출하는 것입니다. 이렇게 하면 파일도 만들어집니다. CFile cfile_object(“c:\test CFile 개체가 지정된 파일을 성공적으로 열면 CFile 개체가 소멸될 때 자동으로 이 파일을 닫습니다. 그렇지 않으면 파일이 더 이상 CFile 개체에 연결되지 않은 후에 명시적으로 닫아야 합니다. 버퍼로 전송된 바이트 수입니다.

모든 CFile 클래스의 경우 파일 끝에 도달한 경우 반환 값이 nCount보다 작을 수 있습니다.