C++ c++;从csv文件到结构向量的输入

C++ c++;从csv文件到结构向量的输入,c++,csv,vector,struct,C++,Csv,Vector,Struct,大家好,我正在尝试将所有逗号分隔的文本输入到一个结构向量中,但是由于某种原因,cdv文件中的double和int值不会被传输到结构向量中。你能告诉我我做错了什么吗 先谢谢你 #include <iostream> #include <fstream> #include <vector> #include <iomanip> #include <string> #include <cstdlib> using namesp

大家好,我正在尝试将所有逗号分隔的文本输入到一个结构向量中,但是由于某种原因,cdv文件中的double和int值不会被传输到结构向量中。你能告诉我我做错了什么吗

先谢谢你

#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
#include <string>
#include <cstdlib>


using namespace std;

struct dailyValues
{
    string name;
    string station_name;
    double elevation;
    double latitude;
    double longitude;
    int date;
    int maxPn;
    int tMax;
    int tMin;
    int observation;
};

int main()
{
    ifstream infile;
    infile.open("finalc++.csv");
    string temp;

    vector <dailyValues> allDays;

    dailyValues day;

    while (!infile.eof()) {
        getline(infile, day.name, ',');
        getline(infile, day.station_name, ',');
        getline(infile, temp, ',');
        day.elevation = stod(temp);
        getline(infile, temp, ',');
        day.latitude = stod(temp);
        getline(infile, temp, ',');
        day.longitude = stod(temp);
        getline(infile, temp, ',');
        day.date = stoi(temp);
        getline(infile, temp, ',');
        day.maxPn = stoi(temp);
        getline(infile, temp, ',');
        day.tMax = stoi(temp);
        getline(infile, temp, ',');
        day.tMin = stoi(temp);
        getline(infile, temp, ',');
        day.observation = stoi(temp);
        allDays.push_back(day);

    }
    for (int i = 0; i < 30; i++){
        cout << allDays[i].name << endl;
        cout << allDays[i].station_name << endl;

    }



    infile.close();

    return 0;
}
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
结构dailyValues
{
字符串名;
字符串站名;
双立面;
双纬度;
双经度;
国际日期;
int-maxPn;
int tMax;
int tMin;
内部观察;
};
int main()
{
河流充填;
infle.open(“finalc++.csv”);
字符串温度;
病媒全天;
每日价值观日;
而(!infle.eof()){
getline(infle,day.name,,);
getline(infle,day.station_name,',');
getline(填充,临时“,”);
日标高=stod(温度);
getline(填充,临时“,”);
日纬度=stod(温度);
getline(填充,临时“,”);
日经度=stod(温度);
getline(填充,临时“,”);
day.date=stoi(温度);
getline(填充,临时“,”);
day.maxPn=stoi(温度);
getline(填充,临时“,”);
day.tMax=stoi(温度);
getline(填充,临时“,”);
day.tMin=stoi(温度);
getline(填充,临时“,”);
观察天数=stoi(温度);
所有天。向后推(天);
}
对于(int i=0;i<30;i++){

无法使用调试器并单步执行代码。观察变量
temp
以查看它是否有逗号。我在CSV中计算了9个逗号,在代码中计算了10个逗号。它是第一条记录,可以吗?而不是其他记录?创建一个只有一条记录的文件。@thomasatthews-
temp
不应该有逗号。分隔符被读取并丢弃。