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()
该怎么办?我尝试了很多!
答案 0 :(得分:2)
您需要将memcpy
替换为:
fread((char *)(newmessage.data), 1, Size, pFile);
答案 1 :(得分:1)
如果要使用memcpy
复制文件,则需要对文件进行内存映射。由于您没有对该文件进行内存映射,因此您需要使用fread
。