我试图创建一个二维数组的FILE指针

当我这样做时:

FILE *pFile = OpenFile(fileName);
FILE **lossArr  =   (FILE**)malloc(sizeof(FILE*) * i * j);

lossArr [0] =  pFile;
fputs ("some text\n",(lossArr[0]));


工作正常,

但是当我添加*使其成为二维数组时:

FILE *pFile = OpenFile(fileName);
FILE ***lossArr =   (FILE**)malloc(sizeof(FILE*) * i * j);

lossArr[0][0] =  pFile;
fputs ("some text\n",(lossArr[0][0]));


我得到了Access violation writing location 0xcdcdcdcd.

我看到了使用malloc声明二维数组的方法,但是我想知道创建FILE指针二维数组的方法是什么?我的代码有什么问题。

先谢谢了!

最佳答案

第一。您应该为数组中的每一行分配内存

第二。这是C,但不是C ++。如果可以使用C ++,请使用std::vector

10-05 20:25