Lezen van .txt-bestand in tweedimensionale array in c++

Dus ik ben ofwel een complete idioot en dit staart me recht in het gezicht, maar ik kan gewoon geen bronnen vinden die ik begrijp op Google, of hier.

Ik heb een tekstbestand dat meerdere regels met gehele getallen bevat, elk geheel getal is gescheiden door een spatie, ik wil deze gehele getallen in een array lezen, waarbij elke nieuwe regel de eerste dimensie van de array is, en elk geheel getal op die regel wordt opgeslagen in de tweede dimensie.

Waarschijnlijk de slechtste terminologie gebruikt om dat uit te leggen, sorry.

Mijn tekstbestand ziet er ongeveer zo uit:

100 200 300 400 500
101 202 303 404 505
111 222 333 444 555

En ik wil dat de resulterende array er ongeveer zo uitziet:

int myArray[3][5] = {{100, 200, 300, 400, 500},
                     {101, 202, 303, 404, 505},
                     {111, 222, 333, 444, 555}};

Antwoord 1, autoriteit 100%

Ik geloof dat

istream inputStream;
int myArray[3][5];
for(int i = 0; i < 3; i++)
    for(int j = 0; j < 5; j++)
        istream >> myArray[i][j];

moet doen wat je nodig hebt.


Antwoord 2

In jouw geval kun je zoiets als dit doen:

ifstream file { "file.txt" };
if (!file.is_open()) return -1;
int my_array [3][5]{};
for (int i{}; i != 3; ++i) {
    for (int j{}; j != 5; ++j) {
        file >> my_array[i][j];
    }
}

Een veel betere manier is om std::vectorte gebruiken :

vector<int> my_array;
int num { 0 };
while (file >> num)
    my_array.emplace_back(num);

Other episodes