C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++でテキストファイルからデータを読み込む方法

C++では、fstreamクラスを利用することで、テキストファイルへのデータの書き込みや読み込みを簡単に実装できます。本記事では、テキストファイルからデータを読み込むC++プログラムの基本的な流れを、アルゴリズムとサンプルコードを交えて解説します。

入力

tpoint.txt の初期内容は
「Tutorials point.」です。

出力

Tutorials point.

アルゴリズム

開始
    fstreamクラスのオブジェクトnewfileを作成する。
    open()メソッドを呼び出し、オブジェクトnewfileを使ってファイル「tpoint.txt」を書き込みモードで開く。
    ファイルが正常に開けていれば
        文字列「Tutorials point」をtpoint.txtファイルに書き込む。
        close()メソッドでファイルオブジェクトnewfileを閉じる。
    open()メソッドを呼び出し、オブジェクトnewfileを使ってファイル「tpoint.txt」を読み込みモードで開く。
    ファイルが正常に開けていれば
        文字列「tp」を宣言する。
        getline()メソッドを使ってファイルオブジェクトnewfileの全データを読み込み、文字列tpに格納する。
        文字列tpのデータを出力する。
    close()メソッドでファイルオブジェクトnewfileを閉じる。
終了

サンプルコード

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
    fstream newfile;
    newfile.open("tpoint.txt",ios::out);  // ファイルオブジェクトを使って書き込み操作のためにファイルを開く
    if(newfile.is_open())     // ファイルが開いているかどうかを確認
    {
        newfile<<"Tutorials point \n"; // テキストを挿入
        newfile.close(); // ファイルオブジェクトを閉じる
    }
    newfile.open("tpoint.txt",ios::in); // ファイルオブジェクトを使って読み込み操作のためにファイルを開く
    if (newfile.is_open()){   // ファイルが開いているかどうかを確認
        string tp;
        while(getline(newfile, tp)){  // ファイルオブジェクトからデータを読み込み、文字列に格納する
            cout << tp << "\n";   // 文字列のデータを出力
        }
        newfile.close();   // ファイルオブジェクトを閉じる
    }
}

出力結果

Tutorials point

コードの解説

まず、fstreamクラスはファイルの入出力を扱うためのクラスで、読み込み専用のifstreamと書き込み専用のofstreamの両方の機能を備えています。

open()メソッドの第2引数には、ios::out(書き込みモード)やios::in(読み込みモード)などのオープンモードを指定します。モードを適切に選択することで、同じファイルオブジェクトを使い分けることができます。

is_open()メソッドは、ファイルが正常に開けたかどうかを判定するために使用します。ファイル操作を行う前には必ず確認するのが安全なプログラミングの基本です。

読み込み処理では、getline()関数を使ってファイルの内容を1行ずつ読み込み、whileループでファイルの終端まで繰り返し処理を行っています。最後にclose()メソッドを呼び出してファイルを確実に閉じることで、リソースの解放を行い、データの破損を防ぐことができます。

  1. matplotlibを使ってテキストファイル(.txt)からデータをプロットする方法

    matplotlibを使用すると、テキストファイル(.txt)に保存されたデータを簡単に読み込み、グラフとして可視化できます。この記事では、.txtファイルのデータから棒グラフを作成する具体的な手順を解説します。 実装の手順 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 棒グラフのラベル名(bar_names)と高さ(bar_heights)を格納するための空のリストを初期化します。 サンプルの.txtファイルを読み取りモード(r)で開き、各行から名前と数値を抽出してそれぞれのリストに追加します。 plt.bar()を使って棒グラフを作成します。 show(

  2. テキストファイルからExcelにデータをインポートする3つの方法

    必要なデータがテキストファイルに保存されている場合、そのデータをExcelブックに取り込んで、さまざまな操作や分析を行いたいことがあります。この記事では、テキストファイルからExcelへデータをインポートするための、シンプルかつ効果的な3つの方法をわかりやすく解説します。 説明には、次のようなテキストファイル内のデータをサンプルとして使用します。このデータには、ある会社の営業担当者(Salesman)、製品(Product)、売上(Sales)の情報が含まれています。これらの情報をExcelワークシートに取り込んでいきましょう。 テキストファイルからExcelにデータをインポートする3つの方