remove
来自cppreference.com
| 在标头 <stdio.h> 定义
|
||
| |
||
删除 pathname 所指向的字符串所标识的文件。
若当前有任何进程打开了此文件,则此函数行为是实现定义的。POSIX 系统解链接文件名(目录项),但在该文件仍被任何进程打开,以及仍存在指向该文件的硬链接时,不回收它所使用的文件系统空间。Windows 不允许在这种情况下删除该文件。
参数
| pathname | - | 指向空终止字符串的指针,字符串含标识待删除文件的路径 |
返回值
成功时为 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 The remove function (第 TBD 页)
- C17 标准(ISO/IEC 9899:2018):
- 7.21.4.1 The remove function (第 TBD 页)
- C11 标准(ISO/IEC 9899:2011):
- 7.21.4.1 The remove function (第 302 页)
- C99 标准(ISO/IEC 9899:1999):
- 7.19.4.1 The remove function (第 268 页)
- C89/C90 标准(ISO/IEC 9899:1990):
- 4.9.4.1 The remove function
参阅
| 重命名文件 (函数) | |
remove 的 C++ 文档
| |