Use the write() function to write to shared memory
Use the read() function to read data from shared memory.
Use the lseek() function to set the file offset associated with a shared memory file descriptor
Example:
#include <stdio.h> #include <sys/mman.h> #include <fcntl.h> #include <unistd.h> #include <errno.h> int main(void) { int fd; //File descriptor int ret = 0; if((fd = shm_open("page", O_RDWR|O_CREAT, 0666)) < 0) { printf("Shared memory creation failed with errno %d\n", errno); } else { printf("Shared memory creation was successful\n"); } if((ret = write(fd, "symbian", 7)) < 0) { printf("Writing into shared memory failed with errno %d\n", errno); } else { printf("Writing into shared memory was successful\n"); } if((ret = lseek(fd, -6, SEEK_END)) < 0) { printf("Seeking from end failed with errno %d\n", errno); } else { printf("lseek was successful\n"); } char buf[7]; if((ret = read(fd, (void*)buf, 6)) < 0) { printf("Reading from shared memory failed with errno %d\n", errno); } else { printf("Reading from shared memory was successful\n"); printf("Buffer read = %s\n", buf); } close(fd);//closing the file descriptor if((ret = shm_unlink("page")) < 0) { printf("Shared memory unlinking failed with errno %d\n", errno); } else { printf("Shared memory unlinking was successful\n"); } return ret; }
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.