C++ でファイル操作関数を使用するにはどうすればよいですか?

WBOY
リリース: 2023-11-18 15:33:50
オリジナル
1178 人が閲覧しました

C++ でファイル操作関数を使用するにはどうすればよいですか?

C は、開発者がさまざまなタスクを処理するのに役立つ多くの便利な関数とライブラリを提供する人気のあるプログラミング言語です。ファイルはデータや情報を保存する主な方法の 1 つであるため、その中でもファイル操作関数は頻繁に使用する必要があります。

この記事では、C言語のファイル操作関数を使って、ファイルの読み取り、書き込み、追加、削除、変更を行う方法を紹介します。この記事を始めるにあたって、C でファイルを開いたり閉じたりする方法を見てみましょう。

ファイルのオープンとクローズ

C には標準のファイル形式、つまりファイル ヘッダー ファイル ヘッダー があります。このヘッダー ファイルは、ファイル操作を処理するための 3 つの主要なクラス、ifstream、ofstream、および fstream を提供します。これらを通じて、ファイルを開いたり閉じたり、ファイルを読み書きしたり、その他の操作を行うことができます。

ファイルを開くには、ofstream または ifstream オブジェクトを使用します。

ofstream outputFile("example.txt");
ログイン後にコピー

この例では、「example.txt」という名前のファイルを作成し、それを ofstream オブジェクト「outputFile」に関連付けます。 ofstream はファイルへの書き込みに使用され、ファイルを開いて空にします。ファイルが存在しない場合は、自動的に作成されます。同様に、ifstream を使用して既存のファイルを読み取り用に開くことができます。

ifstream inputFile("example.txt");
ログイン後にコピー

この場合、ifstream オブジェクト「inputFile」を作成し、それを上位のファイル「example.txt」に関連付けます。 ifstream は、ファイルからデータを読み取るために使用されます。

ファイル操作が完了したら、ファイルを閉じる必要があります。これは、close() 関数を呼び出すことで実現できます。

outputFile.close();
inputFile.close();
ログイン後にコピー

ファイルの読み取り

ファイルの読み取りは一般的な操作であり、通常はファイルからデータと情報を取得する必要があります。ファイルを読み取るには、ifstream クラスと getline() 関数を使用できます。この関数を使用すると、ファイルからテキスト行を取得できます。

ifstream inputFile("example.txt");
string line;

while (getline(inputFile, line)) {
    cout << line << endl;
}

inputFile.close();
ログイン後にコピー

この例では、ifstream オブジェクト「inputFile」を使用してファイル「example.txt」を開き、各行を文字列オブジェクト「line」に読み込みます。 while ループを使用すると、ファイルのすべての内容を 1 行ずつコンソールに出力できます。最後に、ファイルを閉じてリソースを解放します。

ファイルへの書き込み

ファイルからデータを読み取るだけでなく、ファイルにデータを書き込む必要がある場合もよくあります。ファイルに書き込むには、ofstream クラスと << 演算子を使用できます。この演算子は、データをファイルに書き込むために使用されます。

ofstream outputFile("example.txt");

if (outputFile.is_open()) {
    outputFile << "Hello, world!" << endl;
    outputFile.close();
}
ログイン後にコピー

この例では、ofstream オブジェクト「outputFile」を作成し、ファイル「example.txt」に「Hello, world!」という行を書き込みます。また、is_open() 関数を呼び出して、ファイルが正常に開かれたことを確認します。最後に、ファイルを閉じてリソースを解放します。

ファイルに追加

既存のファイルを上書きするのではなく、ファイルの末尾にデータを追加する必要がある場合があります。ファイルの末尾にデータを追加するには、ofstream クラスと ios::app モードを使用します。このモードは、データを上書きするのではなく、データを追加するために使用されます。

ofstream outputFile("example.txt", ios::app);

if (outputFile.is_open()) {
    outputFile << "This is a new line!" << endl;
    outputFile.close();
}
ログイン後にコピー

この例では、再び ofstream オブジェクト「outputFile」を作成しますが、今回は ios::app モードを使用してファイルの末尾にデータを追加します。 「これは新しい行です!」というデータ行をファイルに書き込み、ファイルを閉じてリソースを解放します。

ファイルの削除

場合によっては、ファイルを削除する必要があります。ファイルを削除するには、remove() 関数を使用する必要があります。

if (remove("example.txt") != 0) {
    cout << "Error deleting file";
} else {
    cout << "File successfully deleted";
}
ログイン後にコピー

この例では、remove() 関数を使用してファイル「example.txt」を削除します。関数が正常に実行された場合、戻り値は 0 になり、エラーが発生した場合、戻り値は 0 以外になります。戻り値に基づいて操作が成功したかどうかを判断できます。

ファイルを変更する

最後に、場合によってはファイルを変更する必要があります。ファイルを変更するには、fstream クラスを使用できます。このクラスは ifstream クラスおよび ofstream クラスに似ていますが、ファイルの読み取りと書き込みに使用できます。

fstream file("example.txt", ios::in | ios::out);

if (file.is_open()) {
    string line;
    while (getline(file, line)) {
        if (line == "Hello, world!") {
            file.seekp(-line.length(), ios::cur);
            file << "This is a new line!";
            break;
        }
    }

    file.close();
}
ログイン後にコピー

この例では、fstream オブジェクト「ファイル」を作成し、ファイルの読み取りと書き込みのためにそのファイル モードを ios::in | ios::out に設定します。 while ループを使用してファイルからデータ行を読み取り、特定の行 (「Hello, world!」) を探します。行が見つかった場合は、seekp() 関数を使用してポインターを現在の位置に移動し、

この記事では、C のファイル操作関数を使用して、ファイルの読み取り、書き込み、追加、削除、および変更を行う方法について説明します。ファイル操作関数はコードの記述において重要な役割を果たすため、C 開発ではその構文と使用法を熟知することが不可欠です。

以上がC++ でファイル操作関数を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート