2016-10-01 99 views
1

我知道这个问题已被回答,但之前我并不能理解这些帖子中给出的答案,所以我觉得我别无选择,只能自己提问。这绝对是一个初学者的问题,所以请耐心等待,除非绝对需要,否则不要过分复杂。从文件中读取二维数组C

我想要做的就是读取从.txt文件的2x3矩阵,如

12 14 15 
24 244 988 

,然后将其存储在一个二维数组,姑且称之为“阵列”,使阵列[ 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]);