FILE *fp;をグローバル変数にしてたら落ちまくって、ローカル変数にしたら落ちなくなった現象は何でですかね?
グローバルかローカルか関係ない気がするんですけど。
Windows7、Visual Studio 2015