leer el número delimitado por espacio desde el archivo hasta el carácter de nueva línea

Tengo un archivo de texto que contiene los siguientes datos.

La primera línea es esta:

5 4 3 2 1

La segunda línea es esta:

1 2 3 4 5

Estoy tratando de leer datos de una línea a la vez porque mi primer objeto de lista vinculada utilizará los datos de la primera línea y mi segundo objeto de lista vinculada utilizará datos de la segunda línea. Lo mejor que he podido encontrar es la siguiente función:

void polynomial::allocate_poly(std::ifstream& in, const char* file, const char* number)
{

    in.open(file);

    std::string str;
    char b;
    int m = 0;

    for(int i = 0; !in.eof(); ++i)
    {
        in >> b;
        m = b - '0';
        a.insert(m);
    }

Hay algunos problemas con este enfoque. He probado diferentes operadores binarios en mi bucle for, comob == '\n' y ninguno de ellos parece activarse cuando b es un carácter de nueva línea.

También asignando los números del archivo de esta manera se ve como5 5 4 3 2 1 1 2 3 4 5, por lo que parece estar copiando 5 adicionales en alguna parte, no estoy seguro de si este es el bit de eof o no.

También he intentado usar la función getline, pero por alguna razón parece que solo copia el primer entero y luego volca el resto del archivo. Sé que ciertamente no lo estoy usando correctamente, pero todos los ejemplos que puedo encontrar son para escribir el nombre del archivo comocin.getline y quiero poder pasar mi nombre de archivo como argumento de línea de comandos cuando ejecute el programa.

Mi pregunta es, ¿cómo puedo asignar los números de la primera fila al carácter de nueva línea y luego pasar elifstream in variable a otro objeto para asignar la segunda línea? Gracias por tu ayuda

Respuestas a la pregunta(1)

Su respuesta a la pregunta