求助!关于写入位置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表示会不会少了点?