파일 읽기 및 쓰기
C 런타임 라이브러리 파일 처리 함수를 사용한 경우 MFC 읽기 및 쓰기 작업은 익숙한 것처럼 보입니다. 이 문서에서는 개체에서 직접 읽고 개체에 직접 쓰는 방법을 CFile
설명합니다. CArchive 클래스를 사용하여 버퍼링된 파일 I/O를 수행할 수도 있습니다.
파일에서 읽고 파일에 쓰려면
Read
및Write
멤버 함수를 사용하여 파일에서 데이터를 읽고 씁니다.또는
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(예외 처리)를 참조하세요.