Массив создается в стеке?Например, вы создаете массив следующим образом?
void foo()
{
double mat[3200][3200];
// ... other stuff
fwrite(mat, sizeof(double), 3200*3200, fid);
}
Если это так, вы уверены, что именно fwrite
, а не само объявление массива вызывает переполнение стека?Массив занимает 3200 *3200* 8 = 81920000 байт (около 78 МБ), вероятно, слишком большой для размещения в стеке.Попробуйте вместо этого malloc
использовать массив.