命名空间
变体
操作

remove

来自 cppreference.cn
< c‎ | io
 
 
文件输入/输出
类型与对象
        
函数
文件访问
(C95)
非格式化输入/输出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

格式化输入
 
定义于头文件 <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