Linha C ++ CSV com vírgulas e cadeias de caracteres entre aspas duplas
Estou lendo um arquivo CSV em C ++ e o formato da linha é o seguinte:
"Primário, Secundário, Terceiro", "Primário",, "Secundário", 18, 4, 0, 0, 0
(observe o valor vazio)
Quando eu faço:
while (std::getline(ss, csvElement, ',')) {
csvColumn.push_back(csvElement);
}
Isso divide a primeira corda em pedaços que não estão corretos.
Como preservo a string ao iterar? Tentei fazer uma combinação dos itens acima e, ao mesmo tempo, peguei as linhas separadas por aspas duplas, mas obtive resultados loucos.