名前空間
変種
操作

remove

From cppreference.com
< c‎ | io
 
 
ファイル入出力
型とオブジェクト
        
関数
ファイルアクセス
(C95)
非書式化入出力
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

書式付き入力
直接入出力
書式付き出力
ファイルポジショニング
エラーハンドリング
ファイル操作
remove
 
ヘッダー <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 関数

[編集] 関連項目

ファイル名を変更する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)