命名空间
变体
操作

std::remove

来自 cppreference.cn
< cpp‎ | io‎ | c
 
 
 
 
定义于头文件 <cstdio>
int remove( const char* pathname );

删除由 pathname 指向的字符字符串标识的文件。

如果文件当前被任何进程打开,则此函数的行为是实现定义的。 POSIX 系统取消链接文件名(目录项),但当文件在任何进程中打开并且存在指向该文件的其他硬链接时,不会回收文件系统空间。 Windows 不允许在这种情况下删除文件。

目录

[编辑] 参数

pathname - 指向空终止字符串的指针,该字符串包含标识要删除文件的路径

[编辑] 返回值

0 成功时为零,错误时为非零值。

[编辑] 注意

POSIX 规范为此函数的行为指定了许多其他细节。

标准库还定义了一个函数模板 std::remove,它接受一对迭代器和一个值,此重载是标准算法之一。

[编辑] 示例

#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <iostream>
 
int main()
{
    // create a file, check success using operator! of temporary stream object
    if (!std::ofstream("file1.txt").put('a'))
    {
        std::perror("Error creating file1.txt");
        return EXIT_FAILURE;
    }
    std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // print file
 
    std::remove("file1.txt"); // delete file
 
    if (!std::ifstream{"file1.txt"}) // uses operator! of temporary stream object
    {
        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)
删除文件或空目录
删除文件或目录及其所有内容,递归地
(函数) [编辑]
重命名文件
(函数) [编辑]
C 文档 关于 remove