最初の列が文字列で、残りが数値である入力ファイルがあります。
E2 1880 1 0 67.50 10.50 -1.00 -1.00
E2 1880 1 4 66.50 11.50 -1.00 -1.00
E2 1880 1 8 66.50 11.50 -1.00 -1.00
E2 1880 1 12 65.50 11.50 -1.00 -1.00
E2 1880 1 16 64.50 11.50 -1.00 -1.00
E2 1880 1 20 63.50 12.50 -1.00 -1.00
E2 1880 2 0 63.50 12.50 -1.00 -1.00
E2 1880 2 4 62.50 12.50 -1.00 -1.00
E2 1880 2 8 62.50 12.50 -1.00 -1.00
問題は、入力ファイルを2次元配列に保存する必要があることですが、それを実行しようとすると0しか取得できず、最初の列に数値がないためと思われます..
ここにコード
sprintf(FILE,"test.dat");
IN.open(FILE,ios::in);
if(IN.is_open()){
while ( IN.good() ) {
getline (IN,line);
++data;
}
data -= 1;
}
IN.clear();
IN.close();
double** buf;
buf = new double* [data];
for(int k=0;k<data;k++) buf[k] = new double[COL];
for(int k=0;k<data;k++){
for(int j=0;j<COL;j++) buf[k][j] = 0.;
}
sprintf(FILE,"test.dat");
IN.open(FILE,ios::in);
if(IN.is_open()){
for(int j=0;j<data;j++){
for(int k=0;k<COL;k++){
IN >> buf[j][k];
}
}
IN.clear();
IN.close();
どうもありがとう!