1

これは私が持っているファイルのサンプルです (これは 1 行です):

B12                          MN =                              1.2                         G_{I}=                          3.4                               G_{B}  =                           9.4                        J_k =                               4.4                  1.4                      0.4                   -0.1                       -0.1               3.3                 9.3                      -5.7                 2

さて、私の問題は、このファイルを読み取って、関心のある数値を別のファイルに取得できるようにする必要があることです。

だから、私はこれを試しました:

ifstream in("Data.dat")
ofstream out
output.open("Output.dat")

double a1, ..., a12; 

while(1) {
           if(!(in >> a1 >> ... >> a12))
           break;

           output << a1 << a2 << a12; //say these are the three doubles I'm interested in.


}

しかし、これは失敗しました。出力ファイルに何も表示されません。これを修正する方法が本当にわかりません。

助言がありますか?

4

1 に答える 1

2

「double」の代わりに「string」を使用する必要があります。テスト コードは次のとおりです。

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

int main(int argc, char* argv[])
{
    ifstream in("t1.txt");
    string a1,a2,a3,a4,a5,a6,a7,a8,a9;
    ofstream out("t2.txt");

    while(1)
    {
        if((in>>a1>>a2>>a3>>a4>>a5>>a6>>a7>>a8>>a9))
        {
            out<<a1<<a3<<a5<<endl;
        }
        else
            break;
    }

    return 0;
}
于 2012-07-22T04:03:56.567 に答える