テキスト形式のデータファイルがあります。最初の 1 つは役に立たないので無視できますが、2 番目の列は必要なものです。coloum には、文字列、float などの各行に異なる値があります。一部の計算では、この coloum のメンバーのみを浮動させる必要があります。私はその方法に従い、最初にfloat配列を宣言して値を読み取り、">>"基本コマンドで配列を保存しました。
問題は、float 以外の行が来たときに、読み取り関数が壊れているように動作することです。浮動小数点以外の値を「0」として読み取り、その値として保存します。それは問題ありませんが、その後はフロートであっても値全体を「0」として読み取ります。
Datafile.txt (例)
aa 1.1
bb 2.2
cc 3.0
dd somestring
ee 4.3
ff 4.9
コード(例)
do
{
dfile >> a >> dat[i];
ofile << dat[i]<<endl;
cout << dat[i]<<endl;
i++;
}while(dfile.eof());
出力ファイル(例)
1.1
2.2
3.0
0
0
0
..goes
問題を解決するために2つの方法を考えました。最初の 1 つは、浮動小数点以外の行をスキップすることです。2 つ目は、期間内の行を読み取ることです。フロート値がシーケンスにリストされているためです。