Разбор csv-файла в вектор и преобразование в соответствующие типы данных
Привет всем, я работаю с разбором CSV-файла с помощью c++, я успешно проанализировал данные, но теперь я пытаюсь преобразовать каждый столбец в соответствующий ему тип, как я объявил a-j. Я просто говорю somenumbers dd. a = stod(vector[0]) например, я надеюсь, что это действительно, потому что данные будут отправляться в csv-файл непрерывно, так что может быть n строк, но я знаю, что есть только 10 столбцов. Я просто хочу убедиться, что, делая то, что я делаю, каждая переменная будет получать свои данные после каждого сканирования? и ни одна строка данных не будет пропущена?
typedef struct { int a=0; int b=0; int c=0; double d=0; double e=0; double f=0; double g=0; int h=0; double i=0; double j=0; }somenumbers; vector<vector<string> > matrix; somenumbers dd; string line; ifstream file("mynumbers - Copy.csv"); if (!file.is_open()) perror("error while opening file"); getline(file, line, '\n'); while (getline(file, line, '\n')) //find the endline charcater { vector<string> vec; string linevec; istringstream ss(line);//allows for parsing each line while (getline(ss, linevec, ',')) { vec.push_back(linevec);//push the parsed data for that line into a vector } dd.a= stod(vec[0]); dd.b = stod(vec[1]); cout << dd.a << endl; matrix.emplace_back(vec);//push each parsed line into another vector }
Что я уже пробовал:
Я успешно получил все конечные символы и запятые
csv-файл отформатирован следующим образом
a, b, c, d, e, f, g, h, i, j
1.,
.
.
.
.
Н., строк