Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C 언어 remove() 함수 완벽 가이드: 파일 삭제 방법과 사용 예제

C 표준 라이브러리의 int remove(const char *filename) 함수는 지정된 파일을 삭제하여 더 이상 접근할 수 없도록 만듭니다. 이 함수는 stdio.h 헤더 파일에 선언되어 있으며, 파일 시스템에서 파일을 영구적으로 제거할 때 사용됩니다.

함수 선언

int remove(const char *filename)

매개변수와 반환값

매개변수: 이 함수는 삭제할 파일의 이름을 담고 있는 C 스타일 문자열(filename)을 인자로 받습니다. 경로가 포함된 전체 파일명을 사용할 수도 있습니다.

반환값:

  • 성공 시: 0을 반환합니다.
  • 실패 시: -1을 반환하며, 오류의 원인에 따라 errno가 적절히 설정됩니다.

사용 예제

다음 예제는 파일을 생성한 후 remove() 함수를 사용하여 해당 파일을 삭제하는 과정을 보여줍니다.

#include <stdio.h>
#include <string.h>

int main () {
    int ret;
    FILE *fp;
    char filename[] = "file.txt";

    // 파일 생성 및 내용 작성
    fp = fopen(filename, "w");
    fprintf(fp, "%s", "This is tutorialspoint.com");
    fclose(fp);

    // 파일 삭제 시도
    ret = remove(filename);

    if(ret == 0) {
        printf("파일이 성공적으로 삭제되었습니다.");
    } else {
        printf("오류: 파일을 삭제할 수 없습니다.");
    }

    return(0);
}

실행 결과

file.txt라는 텍스트 파일이 존재하고 내용이 있다고 가정해 보겠습니다. 위 프로그램을 컴파일하여 실행하면 다음과 같은 메시지가 출력되며, 해당 파일은 디스크에서 영구적으로 삭제됩니다.

파일이 성공적으로 삭제되었습니다.

주의 사항

remove() 함수로 삭제된 파일은 휴지통으로 이동하지 않고 즉시 영구 삭제되므로, 호출 전에 중요한 데이터가 포함되어 있지 않은지 반드시 확인해야 합니다. 또한 파일이 열려 있는 상태에서는 삭제가 실패할 수 있으므로, 삭제 전에 fclose()를 통해 파일을 먼저 닫는 것이 좋습니다.