remove

来自cppreference.com
< c‎ | io
 
 
 
定义于头文件 <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

[编辑] 参阅

重命名文件
(函数) [编辑]
removeC++ 文档