首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

!关于写入位置0x00000000时访问冲突的有关问题

2012-05-06 
求助!关于写入位置0x00000000时访问冲突的问题报错信息:FileTransServer.exe 中的 0x7c801892 处未处理的

求助!关于写入位置0x00000000时访问冲突的问题

报错信息:FileTransServer.exe 中的 0x7c801892 处未处理的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突
  我做的是一个文件服务器,以下是部分代码,
  fnlen=recv(sClient,filename,256,0);
  HANDLE hFile=CreateFileA(filename,FILE_ALL_ACCESS,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); //打开文件
DWORD FileLength=GetFileSize(hFile,NULL); //文件大小
char buf[15];
_itoa_s(FileLength,buf,10);
send(sClient,buf,15,0); //发送文件大小
char *data=new char[1024]; //这句我原来用的 char *data=new char[FileLength]; 访存冲突,改了还是  
data[FileLength]='\0';
ReadFile(hFile,data,FileLength,NULL,NULL);
  send(sClient,data,FileLength,0);
CloseHandle(hFile);
delete data;

这么写哪里有问题呢?还是说问题不在这?发生“写入位置 0x00000000 时发生访问冲突”这种现象的原因有哪些呢?
本人初学,还请高手指点!

[解决办法]
文件的长度用10bit表示会不会少了点?

热点排行