Lobs001
Lobs001

Reputation: 365

Read 2D array from file in C

I know this has been both answered and asked before, but I can't quite understand the answers given in those posts, so I feel like I have no option but to ask it myself. It's definitely a beginner's question so please bear with me and don't get overly complicated unless it's absolutely needed.

What I want to do is to read a 2x3 matrix from a .txt file, such as

12 14 15
24 244 988

and then store it in a 2D array, let's call it "array", so that array[0][0] would = 12, and array[1][1] = 244 etc..

What I've come up with so far is simply this:

for (int a = 0; a < 2; a++) {
        for (int b = 0; b < 3; b++) {
                fscanf_s(stream, "%d", array[a][b]);
        }

}

It compiles, but then crashes, so I'm not sure what's wrong exactly. It both compiles and runs perfectly if I remove that fscan_s statement so the problem has to be there.

Any help would be greatly appreciated. Thanks!

Upvotes: 1

Views: 1149

Answers (1)

Mohan
Mohan

Reputation: 1901

It compiles, but then crashes

You should use address of array in scanf like

     fscanf_s(stream, "%d", &array[a][b]);

Upvotes: 3

Related Questions