Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中的父进程和子进程之间共享结构数组?_C_Arrays_Struct_Fork_Named Pipes - Fatal编程技术网

如何在C中的父进程和子进程之间共享结构数组?

如何在C中的父进程和子进程之间共享结构数组?,c,arrays,struct,fork,named-pipes,C,Arrays,Struct,Fork,Named Pipes,我正在通过管道创建一个简单的客户机/服务器接口。当服务器收到来自客户端的请求时,它会分叉以创建处理程序进程 我现在正在做一个粗略的实现,所以大部分数据都保存在一个结构数组中: struct data{ int value; char* description; } struct data events[100]; 我需要在子进程完成其工作(包括编辑数组中的结构以使客户端传入值和描述)后,将此数据发送回服务器并刷新服务器的events[]数组,以便当它再次从另一个请求分叉时,分

我正在通过管道创建一个简单的客户机/服务器接口。当服务器收到来自客户端的请求时,它会分叉以创建处理程序进程

我现在正在做一个粗略的实现,所以大部分数据都保存在一个结构数组中:

struct data{
    int value;
    char* description;
}

struct data events[100];
我需要在子进程完成其工作(包括编辑数组中的结构以使客户端传入值和描述)后,将此数据发送回服务器并刷新服务器的events[]数组,以便当它再次从另一个请求分叉时,分叉在数组中具有正确的数据

我可以用什么来做这件事?

是我想到的第一件事


或者,您可以将位推到您声称拥有的管道上。

我如何通过管道发送结构数组?@Ajv2324:
write(pipe\u fd,array,sizeof(array[0])*num\u items)