という風に関数.funcというファイルに関数funcを保存したのです。ところが

#include <fstream.h>
#include <sys/types.h>
#include <sys/stat.h>
void main()
{
struct _stat st;
unsigned char* file = NULL;
bool(* func)(char *str) = NULL;
ifstream InFile("関数.func",ios::binary);
_fstat(InFile.fd(),&st);
file = new unsigned char[st.st_size];
for(long i = 0;i < st.st_size;i++)
{
InFile.get(file[i]);
}
InFile.close();
func = (bool (__cdecl *)(char *))file;
func("がちょ〜ん");
}

という様にいざファイルから読み出して関数funcを使用しようとしてもなぜだ
かうまく行きません。どなたか原因がわかる方いらっしゃいませんでしょうか?