【发布时间】:2015-11-26 16:20:39
【问题描述】:
我是 C++ 新手,在从文件中导入特定数据(数字)时遇到困难。 我的输入看起来像:
Open High Low Close
1.11476 1.11709 1.10426 1.10533
1.10532 1.11212 1.10321 1.10836
1.10834 1.11177 1.10649 1.11139
1.09946 1.10955 1.09691 1.10556
1.10757 1.11254 1.09914 1.10361
1.10359 1.12162 1.10301 1.11595
1.09995 1.10851 1.09652 1.10097
我使用以下代码可以很好地阅读第二列,但我只需要阅读特定数据。例如第三行/第三列是 1.10649
我怎样才能读取特定数据?我是否需要使用 string 来获取行/列,然后将其转换为 int 以便在 vector 中读取它?我愿意接受任何建议,如果有任何建议可以帮助我解决这个问题,我将不胜感激。
// Data import 2nd Column
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <vector>
using namespace std;
int main()
{
const int columns = 4;
vector< vector <double> > data;
ifstream market_data("market_data.txt");
if (market_data.is_open()) {
double num;
vector <double> line;
while (market_data >> num) {
line.push_back(num);
if (line.size() == columns) {
data.push_back(line);
line.clear();
}
}
}
vector <double> column;
double col = 2;
for (double i = 0; i < data.size(); ++i) {
column.push_back(data[i][col - 1]);
cout << column[i] << endl;
}
system ("pause");
return 0;
}
【问题讨论】:
标签: c++ string file-io vector import