请教用多线程写入**p生成的二维数组问题!!!!!!!!!!

christopher_hp 2004-02-09 03:55:02
我用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("写数据完成");
}
...全文
45 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧