如何将内存段指针复制文件类型指针数据。 像这样
ptr
是一个附加到我们创建的内存段的指针。并且fp
是文件指针。使用fp=fopen("file name",w+(mode));
。我必须在fp
内写一些东西。
fprintf(fp,"hello vishnu");
通过使用共享内存,我想发送此服务器端。
怎么可能这样做?如何在服务器端获取此数据?
答案 0 :(得分:0)
要在进程之间共享内存,可以使用File Mapping。
答案 1 :(得分:0)
您可以使用pipe
或AF_UNIX
套接字。
有效地为您提供具有文件描述符访问权限的共享内存段。您可以使用fdopen
将该文件描述符连接到所需的FILE*
。
不同之处在于pipe
创建了一个匿名管道,并在一个进程中为每个端口提供了一个文件描述符。对IPC使用它的唯一(简单)方法是在父进程中执行它,然后fork / exec子进程,以便它继承管道的一端。
AF_UNIX
套接字由文件系统命名,因此两个独立进程可以使用已知路径名进行连接。
请注意,这两者仅与实现细节有关的共享内存:您无法直接访问共享内存段,而是依赖操作系统。