请教用多线程写入**p生成的二维数组问题!!!!!!!!!!
我用typedef struct DynamicArray< DynamicArray<int> > TDynamicArray;定义的动态数组,然后在线程中用**p生成二维数组,然后把动态数组中的数据放在p中,最后把p中的数据写到文件中去,
奇怪的是我什么都没有写到文件中,连空的东西或者垃圾数据都没有写入,写如的数据大小都是正确的,好奇怪,以下是我的代码,各位多指教
void __fastcall FileThread::WriteFile(AnsiString name, TDynamicArray pos, int position)
{
FILE *file =NULL;
int **p, i, temp;
p =new int*[pos.Length];
for(i=0; i<pos.Length; i++)
p[i] =new int[pos[i].Length];
file =fopen(name.c_str(), "ab+");
if(file)
{
for(i=0; i<pos.Length; i++)
temp =fwrite(p[i], sizeof(int), pos[i].Length, file);
}
else
ShowMessage("写文件出错");
position =ftell(file);
fclose(file);
for(i=0; i<pos.Length; i++)
delete[] p[i];
delete file, p;
pos.Length =0;
ShowMessage("写数据完成");
}