2016-10-01 4 views
1

Я знаю, что об этом и говорили и спрашивали раньше, но я не могу понять ответы, приведенные в этих сообщениях, поэтому я чувствую, что у меня нет выбора, кроме как спросить его сам. Это определенно вопрос новичка, поэтому, пожалуйста, несите меня и не слишком усложняйтесь, если это абсолютно необходимо.Прочитайте 2D-массив из файла в C

То, что я хочу сделать, это прочитать матрицу 2х3 из текстового файла, например

12 14 15 
24 244 988 

, а затем сохранить его в 2D массив, назовем его «массив», так что массив [ 0] [0] будет = 12, и массив [1] [1] = 244 и т.д ..

То, что я придумал до сих пор просто:

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

} 

собирает, но затем происходит сбой, поэтому я не уверен, что именно не так. Он компилируется и работает отлично, если я удалю этот оператор fscan_s, поэтому проблема должна быть там.

Любая помощь была бы принята с благодарностью. Благодаря!

+1

'fscanf_s (поток, "% D", массив [A] [B ]); вы забыли '&' -> 'fscanf_s (stream,"% d ", & array [a] [b]);' – BLUEPIXY

+1

попробуйте вот так & array [a] [b] – iMuzahid

+0

Вау, это было так просто ... Большое спасибо! Отправьте его как ответ, чтобы я мог его принять! ;) – Lobs001

ответ

3

Она компилирует, но затем падает

Вы должны использовать адрес массива в scanf как

 fscanf_s(stream, "%d", &array[a][b]); 
Смежные вопросы