ホームページ >バックエンド開発 >C++ >C でテキスト ファイルから数値データを読み取るにはどうすればよいですか?

C でテキスト ファイルから数値データを読み取るにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-19 21:18:03630ブラウズ

How do I read numeric data from a text file in C  ?

C でテキスト ファイルから数値データを読み取る

テキスト ファイルに保存された数値データを扱う場合、抽出方法を知ることが重要です。そして、その数値を C プログラム内の変数に割り当てます。これは、1 行に空白や複数の値が含まれる可能性のある書式設定されたデータや非構造化データを扱う場合に特に重要になります。

最初の数値を変数に割り当てる

ifstream を使用して開くテキスト ファイルを使用すると、データ ストリームにアクセスして最初の数値を読み取ることができます。ただし、後続の数値を読み取るには、それらを区切る空白をスキップする方法が必要です。

ループを使用した複数の数値の読み取り

複数の数値を読み取る 1 つの方法は次のとおりです。ループ文を利用することで。次のコードは、>> を繰り返す方法を示しています。残りがなくなるまでテキスト ファイルから数値を読み取る演算子:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    std::fstream myfile("data.txt", std::ios_base::in);

    float a;
    while (myfile >> a)
    {
        printf("%f ", a);
    }

    getchar();

    return 0;
}

連鎖を使用した複数の数値の読み取り>>演算子

ファイル内の要素の数が事前にわかっている場合は、>> を使用できます。複数の数値を別々の変数に読み取るための演算子を順番に使用します:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    std::fstream myfile("data.txt", std::ios_base::in);

    float a, b, c, d, e, f;

    myfile >> a >> b >> c >> d >> e >> f;

    printf("%f\t%f\t%f\t%f\t%f\t%f\n", a, b, c, d, e, f);

    getchar();

    return 0;
}

ファイル内の値をスキップ

ファイル内の特定の値をスキップして、特定の値を使用すると、ループを使用してファイルの位置を進めることができます:

int skipped = 1233;
for (int i = 0; i < skipped; i++)
{
    float tmp;
    myfile >> tmp;
}
myfile >> value;

代替アプローチ

前述の手法の他に、数値データの読み取りと保存に使用できる配列ベースのアプローチがあります。さらに、このプロセスをさらに簡素化するために、GitHub などのプラットフォームで便利なクラスやソリューションを見つけることができます。

以上がC でテキスト ファイルから数値データを読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。