사용범위
Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수
기능
C언어 표준 함수로 지정한 파일 또는 폴더를 삭제한다.
헤더
#include <stdio.h>
※ remove 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※
함수
int remove(const char* Filename);
파라미터
- const char* Filename
- 상대경로 혹은 절대경로의 파일 또는 폴더를 입력한다.
반환값
성공시 0을 반환한다.
실패시 0이 아닌 값을 반환한다.
잡학지식
remove 함수는 존재하지 않거나 이미 열린 파일 혹은 폴더를 제거할 수 없다.
remove 와 비슷한 unlink 함수는 C 표준(stdio.h) 이 아닌 unistd.h 에 포함되어있는 unix 함수로 windows 환경에서는 사용하지 않는다.
따라서 windows 가 포함된 크로스플랫폼 개발환경에서는 unlink 보다는 remove 함수를 쓰는것이 좋다. (url 참고)
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/unlink?view=msvc-170
<소스 코드>
#include <stdio.h>
#define MAX_BUF_SIZE 128
int main() {
FILE *fp;
const char filename[] = "test.txt";
char write_buffer[MAX_BUF_SIZE] = "Hello remove";
char read_buffer[MAX_BUF_SIZE] = {0,};
fp = fopen(filename, "w");
if(fp != NULL) {
fprintf(fp, "%s", write_buffer);
printf("Create & write [%s] file\n", filename);
fclose(fp);
} else {
// fopen 실패 !
}
fp = fopen(filename, "r");
if(fp != NULL) {
fgets(read_buffer, MAX_BUF_SIZE - 1, fp);
printf("read_buffer : %s\n", read_buffer);
fclose(fp);
} else {
// fopen 실패 !
}
// test.txt 삭제
remove(filename);
fp = fopen(filename, "r");
if(fp != NULL) {
printf("fopen success [%s]\n", filename);
} else {
printf("fopen failed [%s]\n", filename);
}
return 0;
}
※ 실행 결과
Create & write [test.txt] file
read_buffer : Hello remove
fopen failed [test.txt]
반응형
'C언어 > stdio.h' 카테고리의 다른 글
[C언어] fseek 함수 (stdio.h, 파일 stream 오프셋 변경) (0) | 2022.08.31 |
---|---|
[C언어] freopen 함수 (stdio.h) (0) | 2022.08.26 |
[C언어] fputc 함수 (stdio.h) (0) | 2022.08.17 |
[C언어] fgetc 함수 (stdio.h) (0) | 2022.08.17 |
[C언어] fscanf 함수 (stdio.h) (0) | 2022.08.11 |