C++ ファイル処理:C++ でファイルを開く、書き込む、読み取る、閉じる方法
C++ でのファイル処理とは?
ファイルは、データをストレージ デバイスに永続的に保存します。ファイル処理を使用すると、プログラムからの出力をファイルに格納できます。ファイル内でデータに対してさまざまな操作を実行できます。
ストリームは、入出力操作が実行されるデバイスの抽象化です。ストリームは、長さが不定の文字の宛先またはソースとして表すことができます。これは、使用状況によって決まります。 C++ は、ファイル処理用のメソッドを備えたライブラリを提供します。議論しましょう。
この C++ チュートリアルでは、次のことを学びます:
- C++ でのファイル処理とは?
- fstream ライブラリ
- ファイルを開く方法
- ファイルを閉じる方法
- ファイルへの書き込み方法
- ファイルから読み取る方法
fstream ライブラリ
fstream ライブラリは、ファイルを操作するための 3 つのクラスを C++ プログラマに提供します。これらのクラスには以下が含まれます:
- ストリームの – このクラスは、出力ストリームを表します。ファイルの作成とファイルへの情報の書き込みに使用されます。
- ifstream – このクラスは入力ストリームを表します。データ ファイルから情報を読み取るために使用されます。
- fstream – このクラスは通常、ファイル ストリームを表します。 ofstream/ifstream 機能が付属しています。つまり、ファイルの作成、ファイルへの書き込み、データ ファイルからの読み取りが可能です。
次の図で簡単に理解できます:
<センター>
<図>
センター>
fstream ライブラリの上記のクラスを使用するには、それをヘッダー ファイルとしてプログラムに含める必要があります。もちろん、#include プリプロセッサ ディレクティブを使用します。 iostream ヘッダー ファイルも含める必要があります。
ファイルを開く方法
ファイルに対して何らかの操作を実行する前に、まずファイルを開く必要があります。ファイルに書き込む必要がある場合は、fstream または ofstream オブジェクトを使用してファイルを開きます。ファイルからの読み取りのみが必要な場合は、ifstream オブジェクトを使用してファイルを開きます。
fstream、ofstream、ifstream の 3 つのオブジェクトには、open() 関数が定義されています。この関数は次の構文を取ります:
open (file_name, mode);
- file_name パラメータは、開くファイルの名前を示します。
- モード パラメータはオプションです。次の値のいずれかを取ることができます:
2つのモードを同時に使用することができます。 | を使用してそれらを結合します。 (OR) 演算子。
例 1:
#include <iostream> #include <fstream> using namespace std; int main() { fstream my_file; my_file.open("my_file", ios::out); if (!my_file) { cout << "File not created!"; } else { cout << "File created successfully!"; my_file.close(); } return 0; }
出力:
コードのスクリーンショットは次のとおりです:
コードの説明:
ファイルを閉じる方法
C++ プログラムが終了すると、自動的に
- ストリームをフラッシュします
- 割り当てられたメモリを解放します
- 開いているファイルを閉じます。
ただし、プログラマーとして、プログラムが終了する前に開いているファイルを閉じる方法を学ぶ必要があります。
fstream、ofstream、および ifstream オブジェクトには、ファイルを閉じるための close() 関数があります。この関数は次の構文を取ります:
void close();
ファイルへの書き込み方法
C++ プログラムから直接ファイルに書き込むことができます。これには、ストリーム挿入演算子 (<<) を使用します。ファイルに書き込むテキストは、二重引用符で囲む必要があります。
これを実演してみましょう。
例 2:
#include <iostream> #include <fstream> using namespace std; int main() { fstream my_file; my_file.open("my_file.txt", ios::out); if (!my_file) { cout << "File not created!"; } else { cout << "File created successfully!"; my_file << "Guru99"; my_file.close(); } return 0; }
出力 :
コードのスクリーンショットは次のとおりです:
コードの説明:
ファイルから読み取る方法
ファイルから C++ プログラムに情報を読み込むことができます。これは、ストリーム抽出演算子 (>>) を使用して可能です。演算子は、キーボードからユーザー入力を読み取る場合と同じ方法で使用します。ただし、cin オブジェクトを使用する代わりに、ifstream/fstream オブジェクトを使用します。
例 3:
#include <iostream> #include <fstream> using namespace std; int main() { fstream my_file; my_file.open("my_file.txt", ios::in); if (!my_file) { cout << "No such file"; } else { char ch; while (1) { my_file >> ch; if (my_file.eof()) break; cout << ch; } } my_file.close(); return 0; }
出力:
そのようなファイルはありません
コードのスクリーンショットは次のとおりです:
コードの説明:
<オール>まとめ:
- ファイル処理を使用すると、プログラムの出力を送信してファイルに保存できます。
- その後、ファイル内でデータにさまざまな操作を適用できます。
- ストリームは、入出力操作が実行されるデバイスを表す抽象化です。
- ストリームは、不定長の文字の送信先または送信元として表すことができます。
- fstream ライブラリは、C++ プログラマーにファイル処理のメソッドを提供します。
- ライブラリを使用するには、#include プリプロセッサ ディレクティブを使用してプログラムに含める必要があります。
C言語