Leer enteros de un archivo en una matriz

Tengo un archivo así:

1 20 42 45 ...(74 integers) 2 43 41 92 ...(74 integers) 

Hay 74 filas de 74 enteros separadas por espacios.

El siguiente código no funciona para mí:

 #define NUM 74 int info[NUM][NUM] = {0}; std::ifstream file("file.txt"); std::string line; int i = 0, j; while(std::getline(file, line)){ for(j=0; j> info[i][j]; } i++; } 

Este código almacena solo el primer valor de cada fila en cada una de las 74 columnas de información [i]. Sé que si tuviera una lista de, digamos, 2 enteros por fila, podría usar: std :: istringstream (línea) >> info [i] [0] >> info [i] [1] Pero no estoy seguro de cómo hacer esto para un alto número de enteros (como 74).

Cree el std::istringstream para cada línea fuera del bucle interno y std::istringstream dentro del bucle interno.

 while(std::getline(file, line)){ std::istringstream line_stream(line); for(j=0; j> info[i][j]; } i++; } 

Como ya sabe que lee números enteros, puede usar una entrada con formato como esta:

 std::ifstream in("text.txt"); int values[74][74]; for (int i = 0; i < 74; ++i) for (int j = 0; j < 74; ++j) in >> values[i][j]; 

He descubierto cómo hacerlo.

necesita alterar el bucle while como tal:

 while(std::getline(file,line)){ std::istringstream iss(line); int val; j = 0; while(iss >> val){ info[i][j] = val; j++; } i++; }