shm_read.c

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

C
42
字号
#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;	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);	for(i=0;i<10;i++)	{		printf("name:%s\n",(*(p_map+i)).name);		printf("age:%d\n",(*(p_map+i)).age);	}	if(shmdt(p_map)==-1)	{		perror("detach error.");	}	return 0;}

⌨️ 快捷键说明

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