Namespaces
Variants

std:: remove

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

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

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

목차

매개변수

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

반환값

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

참고 사항

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

표준 라이브러리는 또한 반복자 쌍과 값을 취하는 함수 템플릿 std::remove 를 정의하며, 이 오버로드는 표준 algorithms 중 하나입니다.

예제

#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    // 임시 스트림 객체의 operator!를 사용하여 파일 생성 및 성공 확인
    if (!std::ofstream("file1.txt").put('a'))
    {
        std::perror("Error creating file1.txt");
        return EXIT_FAILURE;
    }
    std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // 파일 출력
    std::remove("file1.txt"); // 파일 삭제
    if (!std::ifstream{"file1.txt"}) // 임시 스트림 객체의 operator! 사용
    {
        std::perror("Error opening deleted file");
        return EXIT_FAILURE;
    }
    return EXIT_SUCCESS;
}

가능한 출력:

a
Error opening deleted file: No such file or directory

참고 항목

(C++17) (C++17)
파일 또는 빈 디렉토리 삭제
파일 또는 디렉토리와 그 안의 모든 내용을 재귀적으로 삭제
(함수)
파일 이름 변경
(함수)