[WinAPI] 파일 복사, 이동, 삭제

오늘은 간단하게 파일 복사, 이동, 삭제에 대해 알아보겠습니다.

1. 복사
BOOL CopyFile(
  LPCTSTR lpExistingFileName, // 기존 파일
  LPCTSTR lpNewFileName, // 새로운 파일
  BOOL    bFailIfExists // 덮어 씌울건지
);

복사는 CopyFile을 사용하시면 됩니다.

// 예시
BOOL bCopy = ::CopyFile( _T("C:\\Test.txt"), _T("C:\\Test1.txt"), FALSE );
2. 이동
BOOL MoveFile(
  LPCTSTR lpExistingFileName, // 기존 파일
  LPCTSTR lpNewFileName // 새로운 파일
);

파일 이동은 MoveFile을 사용하시면 됩니다.

// 예시
BOOL bMove = ::MoveFile( _T( "C:\\Test.txt" ), _T( "C:\\Test1.txt" ) );
3. 삭제
BOOL DeleteFile(
  LPCTSTR lpFileName // 삭제할 파일
);

파일 삭제는 DeleteFile을 사용하시면 됩니다.

// 예시
BOOL bDel = ::DeleteFile( _T( "C:\\Test.txt" ) );
4. 권한

추가적으로 CopyFile, MoveFile, DeleteFile이 FAIL을 반환하면 GetLastError() 함수로 확인 가능합니다.

보통 권한이 없어 5번 에러가 많이 나타나는데 그럴 경우 “프로젝트 속성 -> 링커 -> 매니페스트 파일 -> UAC 실행 수준 -> requireAdministrator“로 변경하시면 됩니다.