remove
定义于头文件 <stdio.h>
|
||
int remove( const char *fname ); |
||
删除 fname
所指向的字符串所标识的文件。
若文件为当前进程或另一进程打开,则此函数行为是实现定义的。具体而言, POSIX 系统解链接文件名,到最后一个运行的进程关闭该文件为止,即使这是最后一个到文件的硬链接也不回收文件系统空间。 Windows 不允许删除该文件。
参数
fname | - | 指向空终止字符串的指针,字符串含标识待删除文件的路径 |
返回值
成功时为 0 ,错误时为非零值。
注意
POSIX 指定此函数行为的许多额外细节。
示例
运行此代码
#include <stdio.h> int main(void) { FILE* fp = fopen("file1.txt", "w"); // 创建文件 if(!fp) { perror("file1.txt"); return 1; } puts("Created file1.txt"); fclose(fp); int rc = remove("file1.txt"); if(rc) { perror("remove"); return 1; } 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"); }
输出:
Created file1.txt Removed file1.txt Opening removed file failed: No such file or directory Double-remove failed: No such file or directory
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.21.4.1 The remove function (p: 302)
- C99 standard (ISO/IEC 9899:1999):
- 7.19.4.1 The remove function (p: 268)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.9.4.1 The remove function
参阅
重命名文件 (函数) |