您好我正在尝试模拟两个从网络发送和接收 C++ 文件的程序,例如客户端和服务器。首先,我必须将文件拆分为 4096 字节的页面并将其发送到其他程序以创建文件。我通过网络发送和接收文件的方式是读写。因此,在客户端程序中,我必须创建一个函数来接收包并将它们放入文件中。我想不出办法将包放入文件中。例如,我一个文件有 2 个页面,我必须使用这 2 个页面创建另一个文件。我也不知道它们是否按顺序排列,所以我必须创建文件并将它们放在正确的位置。
/*consider the connections are ok and the file's name is at char* name*/
int file=open(name,"O_CREAT | O_WRONLY,0666);
char buffer[4096];
int pagenumber;
for(int i=0;i<page_number;i++){
read(socket,&pagenumber,sizeof(int));
read(socket,buffer,sizeof(int));
write(file(pagenumber*4096),buffer,4096);
}
此代码适用于 pagenumber=0 但对于 pagenumber=1 没有任何反应!你能帮助我吗?提前致谢!