shared write

PHOTO EMBED

Thu Jun 06 2024 16:51:53 GMT+0000 (Coordinated Universal Time)

Saved by @dbms

#include<stdio.h>  
#include<stdlib.h>  
#include<unistd.h>  
#include<sys/shm.h>  
#include<string.h>  
int main()  
{  
int i;  
void *shared_memory;  
char buff[100];  
int shmid;  
shmid=shmget((key_t)2345, 1024, 0666|IPC_CREAT);   
//creates shared memory segment with key 2345, having size 1024 bytes. IPC_CREAT is used to create the shared segment if it does not exist. 0666 are the permissions on the shared segment  
printf("Key of shared memory is %d\n",shmid);  
shared_memory=shmat(shmid,NULL,0);   
//process attached to shared memory segment  
printf("Process attached at %p\n",shared_memory);   
//this prints the address where the segment is attached with this process  
printf("Enter some data to write to shared memory\n");  
read(0,buff,100); //get some input from user  
strcpy(shared_memory,buff); //data written to shared memory  
printf("You wrote : %s\n",(char *)shared_memory);  
}  
content_copyCOPY