Leer la entrada de análisis de archivo de delimitadores

Estoy leyendo la entrada de un .archivo csv como a continuación y desea almacenar cada número en una variable. 15, 0.5, 50 20, 0.4, 70 ....

He probado algo como: `

for(i=0; i<rows;i++){
    string line;

    getline(file, line);

    size_t pos = 0;
    std::string token;

    int record_num=0;
    string::size_type sz;
    while ((pos = line.find(",")) != std::string::npos) {
        token = line.substr(0, pos);
        line.erase(0, pos + 1);
        if(record_num==0)
        {
            num1[i]=stoi(token);
        }
        else if(record_num==1)
        {
            num2[i]=stoi();
        }
        else if(record_num==2){
            num3[i]=stoi()
        }
        else
            break;

        record_num++;
    }      
}

`

Creo que ha funcionado para el primer número, pero por el resto estoy perdido. ¿Cómo puedo aumentar la posición de testigo y, por favor?