cfile read 예제

다음 파일 액세스 모드 옵션 중 하나만 선택합니다. 기본 파일 액세스 모드는 CFile::mode읽기만 읽습니다. 이 함수를 호출하여 파일의 경로를 지정합니다. 예를 들어 CFile 개체가 생성될 때 파일 경로를 사용할 수 없는 경우 SetFilePath를 호출하여 파일을 제공합니다. 모드 상수 shareDenyNone을 지정하지 않고 파일을 열면 이 파일은 다른 프로그램에서 읽기 모드에서 열 수 있습니다. 이 기능은 텍스트 파일, 프로그램에 의해 생성 된 로그에 필요합니다. 텍스트 파일을 만들 때 CFile::typeText 및 이진 파일 CFile::typeBinary를 사용합니다. CFile – 파일에 쓰기: 쓰기 함수는 파일에 데이터를 쓰는 데 사용됩니다. 샘플 코드는 다음과 같습니다.

CFile cfile_object; cfile_object. 열기( “c:test 또한 CFile::CFile 및 CFile:Open에 대한 예제를 참조하십시오. C 런타임 라이브러리 파일 처리 기능을 사용한 경우 MFC 읽기 및 쓰기 작업이 익숙한 것처럼 보입니다. 이 문서에서는 CFile 개체에서 직접 읽고 쓰는 방법을 설명합니다. CArchive 클래스를 통해 버퍼링된 파일 I/O를 수행할 수도 있습니다. CFile은 MFC에서 파일을 처리하는 데 사용되는 클래스입니다. 이 클래스는 파일을 생성, 읽기, 쓰기 및 수정하는 데 사용할 수 있습니다. 버퍼링되지 않은 이진 디스크 입력/출력 서비스를 직접 제공하며 파생 클래스를 통해 텍스트 파일 및 메모리 파일을 간접적으로 지원합니다.

CFile – 파일 만들기: 파일을 만드는 방법에는 두 가지가 있습니다. 한 가지 방법은 파일 경로를 사용하여 CFile 개체를 인스턴스화하는 것입니다. 이렇게 하면 파일이 만들어집니다. 두 번째 방법은 Open 함수를 호출하는 것입니다. 이렇게 하면 파일도 만들어집니다. CFile cfile_object(“c:\test 중요: 이 방법은 작은 파일에 충분합니다. 메모리 할당 문제를 방지하기 위해 큰 파일 청크를 청크별로 읽고 처리하는 것이 좋습니다. CFile 클래스는 파일을 여는 데 사용됩니다. Win32 CreateFile/OpenFile을 사용하여 이미 열려 있는 파일 핸들에서 작동할 수 있습니다. 그러나 새 파일을 열려면 문자열로 파일 경로를 지정해야 합니다. 오버로드된 생성자 CFile() 또는 Open() 멤버 호출에서 이 정보를 제공받을 수 있습니다. 예를 들어 GetFileName을 호출하여 파일 c:windowswritemyfile.wri에 대한 메시지를 사용자에게 생성하면 파일 이름인 myfile.wri가 반환됩니다.

nCount 파일에서 읽을 최대 바이트 수를 계산합니다. 텍스트 모드 파일의 경우 캐리지 리턴 라인 피드 쌍은 단일 문자로 계산됩니다. 쓰기 함수는 파일에 데이터를 쓰는 데 사용됩니다. 샘플 코드는 다음과 같습니다. CFile cfile_object; cfile_object. 열기(“c:test Read”는 버퍼에 대한 포인터와 읽을 바이트 수를 가져와 읽은 실제 바이트 수를 반환합니다. 파일 끝(EOF)에 도달했기 때문에 필요한 바이트 수를 읽을 수 없는 경우 실제 읽은 바이트 수가 반환됩니다. 읽기 오류가 발생하면 예외가 throw됩니다.

쓰기는 Read와 유사하지만 작성된 바이트 수는 반환되지 않습니다. 지정된 모든 바이트를 쓰지 않는 것을 포함하여 쓰기 오류가 발생하면 예외가 throw됩니다. 유효한 CFile 개체가 있는 경우 다음 예제와 같이 해당 개체를 읽거나 쓸 수 있습니다. WINDOWS 디렉토리에 있는 INI 파일입니다. 이 예제에서 출력: 함수는 파일에서 읽은 바이트 수를 반환하는 이름과 경로 및 제목을 출력합니다. 읽은 문자의 최대 수는 Read 함수의 두 번째 매개 변수입니다. 이 클래스와 파생 된 클래스 간의 계층 관계를 사용하면 다형성 CFile 인터페이스를 통해 모든 파일 개체에서 프로그램을 작동 할 수 있습니다. 예를 들어 메모리 파일은 디스크 파일처럼 행동합니다. 이 프롬람은 DOS COPY 명령의 복제본입니다. 두 개의 인수 소스 파일과 대상 파일이 필요합니다.