从文本文件中读取特定列

reading in specific columns from a text file

本文关键字:读取 文本 文件      更新时间:2023-10-16

我正在使用别人的代码,没有很多 c++ 经验。我需要编辑代码以读取第 2、3、4 列而不是 1 或 5,或者将其更改为读取 CSV 文件而不是 txt 文件。下面是当前读入的代码:

fin.getline(temp,200);
cout << temp << end1;
sscanf(temp, "%f %f %f %*fn",&temp1,&temp2,&temp3);

此代码适用于读取较旧的 txt 文件,因为它们没有我试图排除的列。是不是像添加另一个%*这样简单?

谢谢

最简单且仍然合理的方法是将行更改为:

sscanf(temp, "%f %f %f %f %*fn",&unused, &temp1,&temp2,&temp3);

第一个 col 值变为"未使用",第 4 个之后的所有值都将被跳过。

此外,您可能需要增加大小和"温度"。

添加%*f,一开始也应该可以完成这项工作,但是我已经有一段时间没有使用它了,现在无法检查,但是两种解决方案看起来都可以。