[C언어/C++] unlink, remove, DeleteFile 함수 예제 - 파일 삭제 하기(Delete a file in C)
안녕하세요 JollyTree입니다 (•̀ᴗ•́)و
C언어는 파일 처리 함수(remove, unlink, DeleteFile)를 이용하여 파일을 삭제할 수 있습니다. remove, unlink는 C언어 라이브러리에서 제공하는 함수이고 DeleteFile 함수 윈도우 운영체제 전용 Win32 API 입니다. 3개 함수 모두 1개의 파라미터를 가지고 있으며 파라미터로 파일명을 입력받습니다.
int remove(const char *path);
int unlink(const char *filename);
BOOL DeleteFile(LPCSTR lpFileName);
메인코즈의 글들은 스터디에 포커스가 맞춰져 있어요. 그래서 Visual Studio 2019 프로젝트 프로퍼티에서 Chracter Set을 "Use Multi-Byte Character Set"으로 설정하였습니다.
🔗 Character Set 변경 방법
"Project" 메뉴를 선택한 후 "Properties...(Alt+F7)-Configuration Properties-Advanced-Character Set"의 옵션을 "Use Multi-Byte Character Set"으로 설정합니다.
만약, DeleteFile 함수 사용시 "Use Unicode Character Set"으로 프로젝트 설정을 원한면 char 타입을 TCHAR으로 변경하여 사용할 것을 권합니다. 스레드 이용하여 파일 복사 하기(1/3) 자료의 중간 부분 "참고"를 한 번 읽어보세요.
🔗 파일 삭제 함수 예제(unlink, remove, DeleteFile functions example):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#pragma warning(disable:4996)
#include <stdio.h>
#include <windows.h>
int main()
{
char filename1[] = "maincodes1.exe";
char filename2[] = "maincodes2.exe";
char filename3[] = "maincodes3.exe";
int r;
//unlink 함수를 이용한 방법
r = unlink(filename1);
if (r == 0)
printf(" >> [unlink] %s 파일을 삭제하였습니다.\n", filename1);
else
printf(" >> [unlink] %s 파일을 삭제할수 없습니다.\n", filename1);
//remove 함수를 이용한 방법
r = remove(filename2);
if (r == 0)
printf(" >> [remove] %s 파일을 삭제하였습니다.\n", filename2);
else
printf(" >> [remove] %s 파일을 삭제할수 없습니다.\n", filename2);
//Win32 DeleteFile 함수를 이용한 방법
r = DeleteFile(filename3);
if(r == TRUE)
printf(" >> [DeleteFile] %s 파일을 삭제하였습니다.\n", filename3);
else
printf(" >> [DeleteFile] %s 파일을 삭제할수 없습니다.\n", filename3);
return 0;
}
|
cs |
🔗 실행결과(Output):
이상 JollyTree였습니다. (•̀ᴗ•́)و