, поэтому я пытаюсь прочитать некоторые данные из CSV-файла в свою программу, но мне нужны только определенные столбцы c. Я знаю, что в Интернете есть много вещей, касающихся этого, но я не могу соответствовать ни одному из них моим требованиям.
Во-первых, я создал структуру, которая принимает Date и Time (объекты класса) и значение Speed из файла и сохранить его в шаблонном классе Vector, который я сделал сам. Моя основная программа сейчас работает правильно для тестового файла, как это:
31/12/2013 11:45,55.6
Дата и время считываются вместе, а затем разделяются, и это прекрасно работает. Теперь вот фактический файл:
WAST,DP,Dta,Dts,EV,QFE,QFF,QNH,RF,RH,S,SR,ST1,ST2,ST3,ST4,Sx,T
31/03/2016 09:00,14.6,175,17,0,1013.4,1016.9,1017,0,68.2,6,512,22.7,24.1,25.5,26.1,8,20.74
31/03/2016 09:10,14.6,194,22,0.1,1013.4,1016.9,1017,0,67.2,5,565,22.7,24.1,25.5,26.1,8,20.97
31/03/2016 09:20,14.8,198,30,0.1,1013.4,1016.9,1017,0,68.2,5,574,22.7,24,25.5,26.1,8,20.92
Что я хочу сделать, это извлечь детали из столбца WAST, который представляет собой дату и время, а затем скорости из столбца S. У меня есть общее представление о том, как это сделать, то есть: 1. Извлечь всю первую строку в строку и игнорировать все, кроме WAST и S, или что-то в этом роде. Но даже тогда, как я должен получить каждое значение только в тех столбцах, которые я хочу? Пожалуйста, помогите.
Main. cpp:
#include <iostream>
#include <string>
#include <fstream>
#include "Date.h"
#include "Time.h"
#include "Vector.h"
using namespace std;
typedef struct {
Date d;
Time t;
float speed;
}WindLogType;
int main()
{
Date dTest;
Time tTest;
float speedtest = 52.5;
Vector<WindLogType> windlog;
ifstream infile("testinput2.csv");
if(!infile){
cout << "File not found.";
return -1;
};
WindLogType windlog2;
//int i = 0;
while(!infile.eof()){
infile >> windlog2.d >> windlog2.t >> windlog2.speed;
windlog.add(windlog2);
}
for(int i = 0; i < windlog.size(); i++){
cout << windlog[i].d << " " << windlog[i].t << " Speed: " << windlog[i].speed << endl;
}
infile.close();
return 0;
}