共享内存2.0(shmget,shmat函数)

#include"common.h"

int main()
{
	int id;
	int key=getpid();
	id=shmget(key,100,0666|IPC_CREAT);//创建共享内存,注意读写权限
	printf("id = %d\n",id);
	sleep(10);
	char buf[30];
	char *p=shmat(id,NULL,0);//获取共享内存起始地址
	memcpy(buf,p,30);
	printf("buf = %s\n",buf);

}
#include"common.h"

int main()
{

		printf("input id..\n");
		int id;
		scanf("%d",&id);
		char buf[]="abcdefghijk";
		char *p=shmat(id,NULL,0);//获取共享内存起始地址
		memcpy(p,buf,sizeof(buf));
		printf("buf = %s\n",p);
}

结果:

猜你喜欢

转载自blog.csdn.net/IT8343/article/details/85159930