remove
来自 cppreference.cn
定义于头文件 <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"); // create file 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"); // Failure: file does not exist if (!fp) perror("Opening removed file failed"); rc = remove("file1.txt"); // Failure: file does not exist 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 remove 函数 (p: TBD)
- C17 标准 (ISO/IEC 9899:2018)
- 7.21.4.1 remove 函数 (p: TBD)
- C11 标准 (ISO/IEC 9899:2011)
- 7.21.4.1 remove 函数 (p: 302)
- C99 标准 (ISO/IEC 9899:1999)
- 7.19.4.1 remove 函数 (p: 268)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.9.4.1 remove 函数
[编辑] 参见
重命名文件 (函数) | |
C++ 文档 关于 remove
|