0907使用write函数向共享内存中写入数据,实现不同进程间的数据信息传递
更新:HHH   时间:2023-1-7


/*

  • 编写一个程序,使用write函数向共享内存中写入数据,实现不同进程间的数据信息传递
    */

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <unistd.h>

typedef struct
{
char name[4];
int age;
}people;

int main(int argc, char argv[])
{
int shm_id,i;
char temp;
people
p_map;
if(argc!=2)
{
printf("Usage:atshm<identifier>");
exit(1);
}
shm_id=atoi(argv[1]);
p_map=(people )shmat(shm_id,NULL,0);
temp='a';
for(i=0;i<10;i++)
{
temp+=1;
memcpy((
(p_map+i)).name,&temp,1);
(*(p_map+i)).age=20+i;
}
if(shmdt(p_map)==-1)
{
perror("detach error!\n");
}
return 0;
}

返回编程语言教程...