다음을 통해 공유


파일 읽기 및 쓰기

C 런타임 라이브러리 파일 처리 함수를 사용한 경우 MFC 읽기 및 쓰기 작업은 익숙한 것처럼 보입니다. 이 문서에서는 개체에서 직접 읽고 개체에 직접 쓰는 방법을 CFile 설명합니다. CArchive 클래스를 사용하여 버퍼링된 파일 I/O를 수행할 수도 있습니다.

파일에서 읽고 파일에 쓰려면

  1. ReadWrite 멤버 함수를 사용하여 파일에서 데이터를 읽고 씁니다.

    또는

  2. Seek 멤버 함수는 파일 내의 특정 오프셋으로 이동할 수도 있습니다.

Read 는 버퍼 및 읽을 바이트 수에 대한 포인터를 사용하고 읽은 실제 바이트 수를 반환합니다. EOF(파일 끝)에 도달하여 필요한 바이트 수를 읽을 수 없는 경우 읽은 실제 바이트 수가 반환됩니다. 읽기 오류가 발생하면 예외가 throw됩니다. Write 은(는 Read) 유사하지만 기록된 바이트 수는 반환되지 않습니다. 지정된 바이트를 모두 쓰지 않는 등 쓰기 오류가 발생하면 예외가 throw됩니다. 유효한 CFile 개체가 있는 경우 다음 예제와 같이 개체에서 읽거나 쓸 수 있습니다.

TCHAR   szBuffer[256]; 
UINT    nActual = 0; 
CFile   myFile;

if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |   
   CFile::modeReadWrite ) )
{
   myFile.Write( szBuffer, sizeof( szBuffer ) ); 
   myFile.Flush();
   myFile.Seek( 0, CFile::begin );
   nActual = myFile.Read( szBuffer, sizeof( szBuffer ) ); 
}

참고 항목

일반적으로 예외 처리 블록 내에서 try/catch 입력/출력 작업을 수행해야 합니다. 자세한 내용은 MFC(예외 처리)를 참조하세요.

참고 항목

파일