std::remove
来自 cppreference.cn
定义于头文件 <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
|