Мне нужно, чтобы каждое из значений CSV было вставлено в переменные и получатели, которые у меня есть, однако getline по какой-то причине помещает их все в переменную 'date'. Noob C ++ кодер, как вы можете сказать.
Попытка сделать несколько getlines и поместить lineResults в качестве различных переменных.
StockList.cpp
#include "pch.h"
#include "StockList.h"
#include <math.h>
using namespace std;
StockList::StockList(string filePath)
{
ifstream stockFile(filePath);
string lineResults;
while (!stockFile.eof()) {
getline(stockFile, lineResults);
Stocks s(lineResults);
stocks.push_back(s);
/*lineResults = stockFi
Stocks.h
#include <string>
#include <sstream>
#pragma once
class Stocks
{
public:
Stocks(std::string stockInfo);
std::string getDate();
std::string getOpen();
std::string getHigh();
std::string getLow();
std::string getClose();
std::string getAdj();
std::string getVolume();
std::string getPercentChange();
private:
std::string date;
std::string open;
std::string high;
std::string low;
std::string close;
std::string adjClose;
std::string volume;
std::string PercentChange;
};
StockList.h
#include <string>
#include <vector>
#include "Stocks.h"
#include <fstream>
#include <algorithm>
#pragma once
class StockList
{
public:
StockList(std::string filePath);
//private:
std::vector<Stocks> stocks;
};
Stocks.cpp
#include "pch.h"
#include "Stocks.h"
using namespace std;
Stocks::Stocks(string stockInfo)
{
stringstream stockStream(stockInfo);
stockStream >> date;
stockStream >> open;
stockStream >> high;
stockStream >> low;
stockStream >> close;
stockStream >> adjClose;
stockStream >> volume;
}
string Stocks::getDate()
{
return date;
}
string Stocks::getOpen()
{
return open;
}
string Stocks::getHigh()
{
return high;
}
string Stocks::getLow()
{
return low;
}
string Stocks::getClose()
{
return close;
}
string Stocks::getAdj()
{
return adjClose;
}
string Stocks::getVolume()
{
return volume;
}
/*string Stocks::getPercentChange()
{
return (adjClose - open) / open * 100;
}*/
ConsoleApp.cpp
#include "pch.h"
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include "Stocks.h"
#include "StockList.h"
using namespace std;
void printStocks(Stocks stocks) {
cout << "Date: " << stocks.getDate() << endl;
cout << "Open: " << stocks.getOpen() << endl;
cout << "High: " << stocks.getHigh() << endl;
cout << "Low: " << stocks.getLow() << endl;
cout << "Close: " << stocks.getClose() << endl;
cout << "Adj Close: " << stocks.getAdj() << endl;
cout << "Volume: " << stocks.getVolume() << endl;
}
int main()
{
StockList list("stocks.csv");
for (Stocks s : list.stocks)
printStocks(s);
}
Дата, открытие, максимум, минимум, закрытие, настройка закрытия, громкость
2019-03-18,116.169998,117.610001,116.050003,117.570000,117.570000,31207600
2019-03-19,118.089996,118.440002,116.989998,117.650002,117.650002,37588700
2019-03-20,117.389999,118.750000,116.709999,117.519997,117.519997,28113300
2019-03-21,117.139999,120.820000,117.089996,120.220001,120.220001,29854400
2019-03-22,119.500000,119.589996,117.040001,117.050003,117.050003,33624500
2019-03-25,116.559998,118.010002,116.320000,117.660004,117.660004,27067100
2019-03-26,118.620003,118.709999,116.849998,117.910004,117.910004,26097700
2019-03-27,117.879997,118.209999,115.519997,116.769997,116.769997,22733400
2019-03-28,117.440002,117.580002,116.129997,116.930000,116.930000,18334800
2019-03-29,118.070000,118.320000,116.959999,117.940002,117.940002,25399800
2019-04-01,118.949997,119.110001,118.099998,119.019997,119.019997,22789100
2019-04-02,119.059998,119.480003,118.519997,119.190002,119.190002,18142300
2019-04-03,119.860001,120.430000,119.150002,119.970001,119.970001,22860700
2019-04-04,120.099998,120.230003,118.379997,119.360001,119.360001,20112800
2019-04-05,119.389999,120.230003,119.370003,119.889999,119.889999,15826200
2019-04-08,119.809998,120.019997,118.639999,119.930000,119.930000,15116200
2019-04-09,118.629997,119.540001,118.580002,119.279999,119.279999,17612000
2019-04-10,119.760002,120.349998,119.540001,120.190002,120.190002,16477200
2019-04-11,120.540001,120.849998,119.919998,120.330002,120.330002,14209100
2019-04-12,120.639999,120.980003,120.370003,120.949997,120.949997,19745100
2019-04-15,120.940002,121.580002,120.570000,121.050003,121.050003,15526700
2019-04-16,121.639999,121.650002,120.099998,120.769997,120.769997,12315624