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 函数
[编辑] 另请参阅
重命名文件 (function) | |
C++ 文档 中的 remove
|