名前空間
変種
操作

std::remove

提供: cppreference.com
< cpp‎ | io‎ | c
 
 
 
 
ヘッダ <cstdio> で定義
int remove( const char* fname );

fname の指す文字列が表すファイルを削除します。

ファイルが現在のプロセスまたは他のプロセスによって現在開かれている場合、この関数の動作は処理系定義です (特に、 POSIX システムではそれがそのファイルへの最後のハードリンクであっても最後の実行中のプロセスがファイルを閉じるまでファイルシステムの空間は回収されなくともファイル名をリンク解除しますが、 Windows ではファイルを削除することはできません)。

目次

[編集] 引数

fname - 削除するファイルを表すパスを格納しているヌル終端文字列を指すポインタ

[編集] 戻り値

成功した場合は 0、エラーが発生した場合は非ゼロの値。

[編集] ノート

POSIX はこの関数の動作について多数の追加の詳細を規定しています

標準ライブラリは一組のイテレータと値を取る関数テンプレート std::remove も定義しています。 このオーバーロードは標準アルゴリズムのひとつです。

[編集]

#include <iostream>
#include <fstream>
#include <cstdio>
int main()
{
    bool ok = static_cast<bool>(std::ofstream("file1.txt").put('a')); // create file
    if(!ok) { std::perror("Error creating file1.txt"); return 1; }
    std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // print file
 
    std::remove("file1.txt"); // delete file
 
    bool failed = !std::ifstream("file1.txt");
    if(failed) { std::perror("Error opening deleted file"); return 1; }
}

出力例:

a
Error opening deleted file: No such file or directory

[編集] 関連項目

(C++17)(C++17)
ファイルまたは空のディレクトリを削除します
ファイルまたはディレクトリおよびそのすべての内容を再帰的に削除します
(関数) [edit]
ファイルの名前を変更します
(関数) [edit]