shm_write.c

来自「关于进程间通信的代码集锦2」· C语言 代码 · 共 45 行

C
45
字号
#include <sys/ipc.h>#include <sys/shm.h>#include <sys/types.h>#include <unistd.h>typedef struct{	char name[4];	int age;}people;int main(int argc,char** argv){	int shm_id,i;	key_t key;	char temp;	people* p_map;	char* name="/dev/shm/myshm2";	key=ftok(name,0);	if(key==-1)	{		perror("ftok error");	}	shm_id=shmget(key,4096,IPC_CREAT);	if(shm_id==-1)	{		perror("shmget error");		return;	}	p_map=(people*)shmat(shm_id,NULL,0);	temp='a';	for(i=0;i<10;i++)	{		temp+=1;		memcpy((*(p_map+i)).name,&temp,2);		(*(p_map+i)).age=20+i;	}	if(shmdt(p_map)==-1)	{		perror("detach error.");	}	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?