C++ の学習者として、標準ライブラリを使用して複素数を扱うことにしました。ここで、テキスト ファイルとの間で複雑な配列を読み書きする必要があります。これは、補足的なトリックなしで、単に書くだけで機能します:
void dump(const char *filename){
ofstream result;
result.open (filename);
for(int k=0;k<15;k++){
result<< outputs[k] <<endl;
}
result.close();
}
データは括弧で囲まれ、次のように行ごとに書き込まれます: (real,im)...
さて、読み取り (および複合体の配列のロード) は、読み取りと同じくらい簡単なはずだと思います。しかし、私の研究にもかかわらず、私はそれを行う正しい方法を見つけていません。
私の最初の試みは素朴でした:
void readfile(const char *filename){
string line;
ifstream myfile (filename);
if (myfile.is_open())
{
int k=0;
while ( getline (myfile,line) ){
k++;
cout << line << endl;
inputs[k]= (complex<float>) line; //naive !
}
myfile.close();
}
else cout << "Unable to open file";
}
それを簡単に(文字列パーサーなしで)行う方法はありますか?