名稱空間
變體
操作

remove

來自 cppreference.com
< 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 函式

[編輯] 另請參閱

重新命名檔案
(function) [編輯]
C++ 文件 中的 remove