命名空间
变体
操作

删除

来自 cppreference.com
< c‎ | io
 
 
文件输入/输出
类型和对象
函数
文件访问
直接输入/输出
无格式输入/输出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)
格式化输入
(C99)(C99)(C99)(C11)(C11)(C11)     
 
定义在头文件 <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