我有一个文本格式的数据文件。它有 2 个列,第一个没有用,我可以忽略它,第二个是我需要的。coloum 在每一行都有不同的值,如字符串、浮点数等。对于某些计算,我只需要浮动这个 coloum 的成员。我按照这种方式,首先声明一个浮点数组并读取值并使用“>>”基本命令保存数组。
问题是当非浮动行出现时,读取功能会损坏。它将非浮点值读取为“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
我想了两种方法来解决这个问题。第一个是跳过非浮动行。第二个是在一段时间内阅读行。因为浮点值按顺序列出。