memcpy()的例外情况。我想发一条消息

时间:2014-05-01 18:44:02

标签: c++ zeromq memcpy

FILE * pFile = fopen("C:\\Penguins.jpg","rb");
fseek( pFile, 0, SEEK_END );
int Size = ftell( pFile );
fseek(pFile,0,SEEK_SET);
zmq::message_t newmessage ;
memcpy((void*)newmessage.data(),pFile,Size);
requester.send(newmessage);
fclose(pFile);

使用Access violation (parameters: 0x00000008).的Memcpy() 该怎么办?我尝试了很多!

2 个答案:

答案 0 :(得分:2)

您需要将memcpy替换为:

  fread((char *)(newmessage.data), 1, Size, pFile);

答案 1 :(得分:1)

如果要使用memcpy复制文件,则需要对文件进行内存映射。由于您没有对该文件进行内存映射,因此您需要使用fread

进行读取