remove
来自cppreference.com
在标头 <stdio.h> 定义
|
||
int remove( const char *pathname ); |
||
删除 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
参阅
重命名文件 (函数) |