Namespaces
Variants

remove

From cppreference.net
< c ‎ | io
헤더 파일에 정의됨 <stdio.h>
int remove ( const char * pathname ) ;

pathname 이 가리키는 문자열로 식별되는 파일을 삭제합니다.

파일이 현재 어떤 프로세스에 의해 열려 있는 경우, 이 함수의 동작은 구현에 따라 정의됩니다. POSIX 시스템은 파일 이름(디렉토리 항목)을 연결 해제하지만, 파일 시스템에서 파일이 사용하는 공간은 어떤 프로세스에서 파일이 열려 있는 동안 그리고 파일에 대한 다른 하드 링크가 존재하는 동안에는 회수되지 않습니다. Windows는 이러한 경우 파일 삭제를 허용하지 않습니다.

목차

매개변수

pathname - 삭제할 파일을 식별하는 경로를 포함하는 널 종료 문자열에 대한 포인터

반환값

0 성공 시 0 또는 오류 시 0이 아닌 값을 반환합니다.

참고 사항

POSIX는 이 함수의 동작에 대한 많은 추가 세부 사항을 명시합니다.

예제

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE* fp = fopen("file1.txt", "w"); // 파일 생성
    if (!fp)
    {
        perror("file1.txt");
        return EXIT_FAILURE;
    }
    puts("Created file1.txt");
    fclose(fp);
    int rc = remove("file1.txt");
    if (rc)
    {
        perror("remove");
        return EXIT_FAILURE;
    }
    puts("Removed file1.txt");
    fp = fopen("file1.txt", "r"); // 실패: 파일이 존재하지 않음
    if (!fp)
        perror("Opening removed file failed");
    rc = remove("file1.txt"); // 실패: 파일이 존재하지 않음
    if (rc)
        perror("Double-remove failed");
    return EXIT_SUCCESS;
}

가능한 출력:

Created file1.txt
Removed file1.txt
Opening removed file failed: No such file or directory
Double-remove failed: No such file or directory

참조문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.21.4.1 remove 함수 (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.21.4.1 remove 함수 (p: TBD)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.21.4.1 remove 함수 (p: 302)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.19.4.1 remove 함수 (p: 268)
  • C89/C90 표준 (ISO/IEC 9899:1990):
  • 4.9.4.1 remove 함수

참고 항목

파일 이름을 변경합니다
(함수)