DeleteFile() 함수는 Windows API에서 파일을 삭제할 때 사용하는 함수입니다.
이 함수는 지정된 파일을 삭제하고 성공 여부를 반환합니다.
주요 요소
- 인자 (Parameters):
DeleteFile() 함수는 하나의 인자를 받습니다. 이는 삭제할 파일의 경로를 나타내는 문자열(LPCWSTR 또는 LPCTSTR)입니다.- 경로는 절대 경로 또는 상대 경로일 수 있으며, 유니코드 문자열(L"")로 표현해야 합니다.
- 반환값 (Return Value):
- 성공 시: TRUE를 반환.
- 실패 시: FALSE를 반환하며, GetLastError()를 통해 오류 정보를 확인할 수 있습니다.
사용 예시
#include <windows.h>
#include <iostream>
int main() {
// 삭제할 파일 경로 (예: "C:\\path\\to\\file.txt")
LPCWSTR filePath = L"C:\\path\\to\\file.txt";
// 파일 삭제 시도
if (DeleteFile(filePath)) {
std::wcout << L"파일이 성공적으로 삭제되었습니다." << std::endl;
} else {
// 실패 시 오류 코드 출력
DWORD dwError = GetLastError();
std::wcout << L"파일 삭제 실패. 오류 코드: " << dwError << std::endl;
}
return 0;
}
오류 처리
DeleteFile()이 실패할 경우, GetLastError()를 사용하여 정확한 오류를 확인할 수 있습니다. 오류 코드에 따른 원인을 파악하여 문제를 해결할 수 있습니다.
* Deletefile로 삭제가 안되는 경우 이런 식으로 출력해서 오류 코드를 반환하여 확인해봐도 됩니다.
if( DeleteFile( szFileName ) == FALSE )
{
printf( "DeleteFile(%s) error(%d)\n", szFileName, GetLastError() );
}
https://learn.microsoft.com/ko-kr/windows/win32/debug/system-error-codes--0-499-
에서 시스템 오류 코드를 확인할 수 있습니다.
저는 오류코드 32가 나왔는데, 이는 파일을 사용 중이기 때문에 프로그램에서 접근하지 못하는 오류였습니다.
file.Close()를 안해줘서 삭제를 못해주는 거였습니다..
그래서 파일을 닫아주고 해결완~~
'개발공부 > C++' 카테고리의 다른 글
[C++ MFC] 다이얼로그 창 항상 앞으로 띄우기, 주기적으로 창 앞으로 띄우기 (0) | 2024.11.05 |
---|---|
[Visual Studio c++] region 및 endregion / pragma 코드블럭 지정하기 (0) | 2024.09.27 |
[C++ MFC] 창 최소화/최대화/작업표시줄로 내리기 (0) | 2024.08.05 |
[C++] csv 파일 쓰기 (0) | 2024.07.22 |
[C++ MFC] Tray 기능 사용하기, 예제코드 (0) | 2024.05.28 |