remove
From cppreference.com
| ヘッダー <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
| |