名前空間
変種
操作

std::remove

提供: cppreference.com
< cpp‎ | io‎ | c
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
C スタイルの入出力
型とオブジェクト
関数
ファイルアクセス
直接入出力
書式なし入出力
書式付き入力
書式付き出力
ファイル位置操作
エラー処理
ファイルに対する操作
remove
 
ヘッダ <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]