std::remove
From cppreference.com
| ヘッダ <cstdio>で定義 |
||
| int remove( const char* pathname ); |
||
pathname によって示されるファイルを削除します。
ファイルが現在いずれかのプロセスで開かれている場合、この関数の動作は実装定義です。POSIX システムではファイル名を削除しますが(ディレクトリエントリ)、ファイルがプロセスで開かれている間、またはファイルへの他のハードリンクが存在する間は、ファイルが使用しているファイルシステム領域は解放されません。Windows では、そのような場合にファイルの削除は許可されません。
目次 |
[編集] パラメータ
| pathname | - | 削除するファイルを特定するパスを含む、null 終端文字列へのポインタ |
[編集] 戻り値
0 成功時、またはエラー時にはゼロ以外の値。
[編集] 注記
POSIX は、この関数の動作に関する多くの追加の詳細を指定しています。
標準ライブラリは、イテレータのペアと値を引数にとる関数テンプレート std::remove も定義しています。このオーバーロードは、標準の アルゴリズムの 1 つです。
[編集] 例
このコードを実行
#include <cstdio> #include <cstdlib> #include <fstream> #include <iostream> int main() { // create a file, check success using operator! of temporary stream object if (!std::ofstream("file1.txt").put('a')) { std::perror("Error creating file1.txt"); return EXIT_FAILURE; } std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // print file std::remove("file1.txt"); // delete file if (!std::ifstream{"file1.txt"}) // uses operator! of temporary stream object { std::perror("Error opening deleted file"); return EXIT_FAILURE; } return EXIT_SUCCESS; }
実行結果の例
a Error opening deleted file: No such file or directory
[編集] 関連項目
| (C++17)(C++17) |
ファイルまたは空のディレクトリを削除する ファイルまたはディレクトリとその内容をすべて再帰的に削除する (関数) |
| ファイル名を変更する (関数) | |
| C のドキュメント(remove)
| |