工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ ファイル処理:C++ でファイルを開く、書き込む、読み取る、閉じる方法

C++ でのファイル処理とは?

ファイルは、データをストレージ デバイスに永続的に保存します。ファイル処理を使用すると、プログラムからの出力をファイルに格納できます。ファイル内でデータに対してさまざまな操作を実行できます。

ストリームは、入出力操作が実行されるデバイスの抽象化です。ストリームは、長さが不定の文字の宛先またはソースとして表すことができます。これは、使用状況によって決まります。 C++ は、ファイル処理用のメソッドを備えたライブラリを提供します。議論しましょう。

この C++ チュートリアルでは、次のことを学びます:

fstream ライブラリ

fstream ライブラリは、ファイルを操作するための 3 つのクラスを C++ プログラマに提供します。これらのクラスには以下が含まれます:

次の図で簡単に理解できます:

<センター>

<図>



fstream ライブラリの上記のクラスを使用するには、それをヘッダー ファイルとしてプログラムに含める必要があります。もちろん、#include プリプロセッサ ディレクティブを使用します。 iostream ヘッダー ファイルも含める必要があります。

ファイルを開く方法

ファイルに対して何らかの操作を実行する前に、まずファイルを開く必要があります。ファイルに書き込む必要がある場合は、fstream または ofstream オブジェクトを使用してファイルを開きます。ファイルからの読み取りのみが必要な場合は、ifstream オブジェクトを使用してファイルを開きます。

fstream、ofstream、ifstream の 3 つのオブジェクトには、open() 関数が定義されています。この関数は次の構文を取ります:

open (file_name, mode);
価値 説明 ios::appAppend モード。ファイルに送信された出力は、ファイルに追加されます。ios::ateIt は、出力用にファイルを開き、読み取りおよび書き込み制御をファイルの最後に移動します。ios::inIt は、読み取り用にファイルを開きます。ios::outIt は、ファイルを開きます。 write.ios::trunc ファイルが存在する場合、ファイルを開く前にファイル要素を切り詰める必要があります。

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;
}

出力:

コードのスクリーンショットは次のとおりです:


コードの説明:

<オール>
  • 関数を使用するには、プログラムに iostream ヘッダー ファイルを含めます。
  • プログラムに fstream ヘッダー ファイルをインクルードして、そのクラスを使用します。
  • コードに std 名前空間を含めて、呼び出さずにそのクラスを使用します。
  • main() 関数を呼び出します。プログラム ロジックは本体内に配置する必要があります。
  • fstream クラスのオブジェクトを作成し、my_file という名前を付けます。
  • 上記のオブジェクトに open() 関数を適用して、新しいファイルを作成します。 out モードでは、ファイルに書き込むことができます。
  • if ステートメントを使用して、ファイルの作成に失敗したかどうかを確認します。
  • ファイルが作成されなかった場合にコンソールに出力するメッセージ
  • if ステートメントの本文の終わり
  • else ステートメントを使用して、ファイルが作成された場合の対処方法を記述します。
  • ファイルが作成された場合にコンソールに出力するメッセージ
  • オブジェクトに close() 関数を適用してファイルを閉じます。
  • else ステートメントの本文の終わり
  • プログラムが正常に完了した場合、プログラムは値を返さなければなりません。
  • main() 関数本体の終わり。
  • ファイルを閉じる方法

    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;
    }
    

    出力 :

    コードのスクリーンショットは次のとおりです:


    コードの説明:

    <オール>
  • 関数を使用するには、プログラムに iostream ヘッダー ファイルを含めます。
  • プログラムに fstream ヘッダー ファイルをインクルードして、そのクラスを使用します。
  • プログラムに std 名前空間を含めて、クラスを呼び出さずにそのクラスを使用します。
  • main() 関数を呼び出します。プログラム ロジックは、この関数の本体内に追加する必要があります。
  • fstream クラスのインスタンスを作成し、my_file という名前を付けます。
  • open() 関数を使用して、my_file.txt という名前の新しいファイルを作成します。ファイルは、書き込みのために out モードで開かれます。
  • if ステートメントを使用して、ファイルが開かれていないかどうかを確認します。
  • ファイルが開かれていない場合にコンソールに出力するテキスト
  • if ステートメントの本文の終わり
  • else ステートメントを使用して、ファイルが作成された場合の対処方法を記述します。
  • ファイルが作成された場合にコンソールに出力するテキスト
  • 作成したファイルにテキストを書き込みます。
  • close() 関数を使用してファイルを閉じます。
  • else ステートメントの本文の終わり
  • プログラムは、正常終了時に値を返さなければなりません。
  • main() 関数の本体の終わり。
  • ファイルから読み取る方法

    ファイルから 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;
    }
    

    出力:

    そのようなファイルはありません

    コードのスクリーンショットは次のとおりです:

    コードの説明:

    <オール>
  • 関数を使用するには、プログラムに iostream ヘッダー ファイルを含めます。
  • プログラムに fstream ヘッダー ファイルをインクルードして、そのクラスを使用します。
  • プログラムに std 名前空間を含めて、クラスを呼び出さずにそのクラスを使用します。
  • main() 関数を呼び出します。プログラム ロジックは、この関数の本体内に追加する必要があります。
  • fstream クラスのインスタンスを作成し、my_file という名前を付けます。
  • open() 関数を使用して、my_file.txt という名前の新しいファイルを作成します。ファイルは、読み取り用に in モードで開かれます。
  • if ステートメントを使用して、ファイルが存在しないかどうかを確認します。
  • ファイルが見つからない場合にコンソールに出力するテキスト
  • if ステートメントの本文の終わり
  • else ステートメントを使用して、ファイルが見つかった場合の対処方法を記述します。
  • ch という名前の char 変数を作成します。
  • ファイルの内容を繰り返すための while ループを作成します。
  • ファイルの内容を変数 ch に書き込み/保存します。
  • if 条件とファイルの終わりである eof() 関数を使用して、最後に達していない場合にコンパイラがファイルからの読み取りを続行するようにします。
  • break ステートメントを使用して、最後に到達したらファイルからの読み取りを停止します。
  • 変数 ch の内容をコンソールに出力します。
  • while 本体の終わり。
  • else ステートメントの本文の終わり
  • close() 関数を呼び出してファイルを閉じます。
  • プログラムは、正常終了時に値を返さなければなりません。
  • main() 関数の本体の終わり。
  • まとめ:


    C言語

    1. Cファイルの取り扱い
    2. TEXTIO を使用してファイルから RAM を初期化する方法
    3. C++ 例外処理:Try、Catch、throw の例
    4. Cプログラミングでコメントを書く方法
    5. Java BufferedReader:例を使用して Java でファイルを読み取る方法
    6. C - ヘッダー ファイル
    7. C++ ファイルとストリーム
    8. C++ シグナル処理
    9. Python - ファイル I/O
    10. マイクロメータとは何ですか? |マイクロメータの読み方
    11. Mill ファイルとは?