命名空间
变体
操作

std::remove

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

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

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

目录

[编辑] 参数

pathname - 指向以 null 结尾的字符串的指针,该字符串包含标识要删除的文件的路径

[编辑] 返回值

成功时返回 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)
删除文件或空目录
删除文件或目录及其所有内容,递归进行
(function) [编辑]
重命名文件
(function) [编辑]
C 文档 关于 remove